<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>'dynamic array' Thread RSS Feed</title>
    <link>http://www.programmersheaven.com/</link>
    <description>Contains the latest posts from the thread 'dynamic array' posted on the 'Beginner C/C++' forum at Programmer's Heaven.</description>
    <language>en</language>
    <copyright>Copyright 2012 Programmers Heaven</copyright>
    <pubDate>Thu, 09 Feb 2012 09:36:04 -0800</pubDate>
    <lastBuildDate>Thu, 09 Feb 2012 09:36:04 -0800</lastBuildDate>
    <generator>Argotic Syndication Framework 2007.3.0.1, http://www.codeplex.com/Argotic</generator>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <ttl>360</ttl>
    <image>
      <url>http://www.programmersheaven.com/images/ph.gif</url>
      <title>Programmers Heaven</title>
      <link>http://www.programmersheaven.com/</link>
      <width>88</width>
      <height>31</height>
    </image>
    <item>
      <title>dynamic array</title>
      <link>http://www.programmersheaven.com/mb/beginnercpp/409712/409712/dynamic-array/</link>
      <description>I don't know what's with the index part. Please help. Thanks! &lt;br /&gt;
&lt;pre class="sourcecode"&gt;
#include&amp;lt;stdio.h&amp;gt;  main(){ 	int* a;	int number;	int choice;	int index = 0;	int head;  	while(choice!=4){ 		printf("\tMENU\t\n");		printf("[1] add number to array\n");		printf("[2] view array\n");		printf("[3] search using linear search\n");		printf("[4] quit program\n");		scanf("%d", &amp;amp;choice); 		switch(choice){			case 1: head = add(&amp;amp;index, a);					break; 			case 2:head = view(&amp;amp;index,a);					break; 			//case 3:linsearch(&amp;amp;index,array[5]);					//break; 			case 4: return;					break; 			default: printf("invalid input!!!\n"); 		}}}  int add(int* index, int* a){ 	int number;	int i; 		printf("enter number you want to enter in the array.\n");		scanf("%d", &amp;amp;number); 		*a = (int) malloc (5*sizeof(int)); 		for(i = 0; i &amp;lt;= *index; i ++){			a[i] = number;		} 		return *index;}  view(int* index, int* a){ 	int i; 	printf("\n"); 		for(i = 0; i &amp;lt;= *index; i++){			printf("index: %d, %d ", *index, a[i]);		}		printf("\n\n"); 		return a[5];}#include&amp;lt;stdio.h&amp;gt;


main(){

	int* a;
	int number;
	int choice;
	int index = 0;
	int head;
	
	
	while(choice!=4){
	
		printf("\tMENU\t\n");
		printf("[1] add number to array\n");
		printf("[2] view array\n");
		printf("[3] search using linear search\n");
		printf("[4] quit program\n");
		scanf("%d", &amp;amp;choice);
		
		switch(choice){
			case 1: head = add(&amp;amp;index, a);
					break;
			
			case 2:head = view(&amp;amp;index,a);
					break;
					
			//case 3:linsearch(&amp;amp;index,array[5]);
					//break;
					
			case 4: return;
					break;
					
			default: printf("invalid input!!!\n");
			
		}
}
}

 int add(int* index, int* a){
	
	int number;
	int i;
	
		printf("enter number you want to enter in the array.\n");
		scanf("%d", &amp;amp;number);
		
		*a = (int) malloc (5*sizeof(int));
		
		for(i = 0; i &amp;lt;= *index; i ++){
			a[i] = number;
		}
		
		return *index;
}

 view(int* index, int* a){

	int i; 
	printf("\n");
	
		for(i = 0; i &amp;lt;= *index; i++){
			printf("index: %d, %d ", *index, a[i]);
		}
		printf("\n\n");
		
		return a[5];
}
&lt;/pre&gt;&lt;br /&gt;</description>
      <guid isPermaLink="true">http://www.programmersheaven.com/mb/beginnercpp/409712/409712/dynamic-array/</guid>
      <pubDate>Sun, 22 Nov 2009 03:14:16 -0800</pubDate>
      <category>Beginner C/C++</category>
    </item>
    <item>
      <title>Re: dynamic array</title>
      <link>http://www.programmersheaven.com/mb/beginnercpp/409712/409721/re-dynamic-array/#409721</link>
      <description>&lt;span style="color: Blue;"&gt;This code will not even compile! What exactly are you trying to do here? Way too many problems in code. What is "return a[5];" in a function which does not declare a return value type? And what are these mallocs() inside the add()?&lt;br /&gt;
&lt;br /&gt;
If you need an array with exactly 5 numbers - simply declare it: "int a[5];" and only after that begin working with menus.&lt;br /&gt;
&lt;br /&gt;
If you want to return allocated pointer from a function - it is done in two ways:&lt;br /&gt;
&lt;br /&gt;
1. Simply return it as a return code:&lt;/span&gt;&lt;br /&gt;
&lt;pre class="sourcecode"&gt;
int* NewArray (int size);

int* a = NewArray (5);

int* NewArray (int size)
{
    return (int*) malloc (size * sizeof (int));
}
&lt;/pre&gt;&lt;br /&gt;
&lt;span style="color: Blue;"&gt;&lt;br /&gt;
2. Return it using pointer to a pointer:&lt;/span&gt;&lt;br /&gt;
&lt;pre class="sourcecode"&gt;
int NewArray (int size, int** parray);

int* a = NULL;
int ok = NewArray (5, &amp;amp;a);

int NewArray (int size, int** parray)
{
    *parray = (int*) malloc (size * sizeof (int));
    return (*parray != NULL);
}
&lt;/pre&gt;</description>
      <guid isPermaLink="true">http://www.programmersheaven.com/mb/beginnercpp/409712/409721/re-dynamic-array/#409721</guid>
      <pubDate>Sun, 22 Nov 2009 06:50:26 -0800</pubDate>
      <category>Beginner C/C++</category>
    </item>
  </channel>
</rss>
