How can I set an array's size at run time?

Answers were Sorted based on User's Feedback



How can I set an array's size at run time?..

Answer / suman

by using calloc() or malloc() functions we create at run
time


i think it will be correct if not forgive me

sumankumar..........

Is This Answer Correct ?    4 Yes 0 No

How can I set an array's size at run time?..

Answer / shalabh

This can be done by using malloc...if u have an integer
array then ...you can ask user the size..and then allocate
memory for integers...at the run time...using malloc()

Is This Answer Correct ?    4 Yes 0 No

How can I set an array's size at run time?..

Answer / vijay zanvar

You can't do that in C. Use dynamic allocation method
to implement array. See Q. 20 and 41 in
http://www.geocities.com/vijoeyz/faq/

Best,
Vijay Zanvar,
Home Page - http://geocities.com/vijoeyz/

Is This Answer Correct ?    3 Yes 0 No

How can I set an array's size at run time?..

Answer / lp

Declare a integer array size at runtime:
1.declare an interget pointer. - int *ptr
2.Get the size of array from user - int n
3.using malloc() ,allocate that many number of location to
the pointer. - ptr = malloc(n*sizeof(int));
4.Make use of the dynamically allocated array. - ptr[]

Is This Answer Correct ?    5 Yes 2 No

How can I set an array's size at run time?..

Answer / rajendra

#include <stdlib.h> /* EXIT_FAILURE, EXIT_SUCCESS */
#include <errno.h>
#include <stdio.h>

#define ROW 5
#define COL 5

int
main ( void )
{
int **cont_arr;
int **cont_arr;

int **arr = malloc ( ROW * sizeof ( int * ) );
if ( !arr )
{
perror ( "Error" );
exit ( EXIT_FAILURE );
}

for ( i=0; i < ROW; i++ )
{
arr[i] = malloc ( sizeof ( int ) * COL );
if ( !arr[i] )
{
perror ( "Error" );
exit ( EXIT_FAILURE );
}
}

/*
* Contiguous memory allocated for array.
Below.
*/

cont_arr = (int **) malloc ( ROW * sizeof ( int
* ) );
if ( !cont_arr )
{
perror ( "Error" );
exit ( EXIT_FAILURE );
}

cont_arr[0] = (int *) malloc ( ROW * COL *
sizeof ( int ) );
if ( !cont_arr[0] )
{
perror ( "Error" );
exit ( EXIT_FAILURE );
}

for ( int i=1; i < ROW; i++ )
cont_arr[i] = cont_arr[0] + i * COL;

exit ( EXIT_SUCCESS );
}

Is This Answer Correct ?    4 Yes 2 No

How can I set an array's size at run time?..

Answer / vinod

C99 and above supports the conceptof VLA(Variable Length Array) which allows you to set array size based on input during run time. It can also done using dynamic memory allocation.

Example:
int main()
{
int i;
scanf("%d",&i);
int a[i];
}

Is This Answer Correct ?    1 Yes 0 No

How can I set an array's size at run time?..

Answer / nithin

int main()
{
int i, max;

// Array
int *a;

printf("Enter the size of array\n");
scanf("%d", &max);

//Run time size allocation of an array
a = (int*)malloc(max * sizeof(int));

for(i = 0; i < max;i++)
{
a[i] = i * 2;
printf("value of element %d is %d\n", i, a
[i]);
}
return 0;
}

Is This Answer Correct ?    0 Yes 0 No

How can I set an array's size at run time?..

Answer / shruti

that is the main drawback of an array..
u cannot assign memory at run time...

Is This Answer Correct ?    2 Yes 5 No

How can I set an array's size at run time?..

Answer / arthy

main()
{
int n,i;
scanf("%d",&n);
int a[n];
}

Is This Answer Correct ?    4 Yes 25 No

Post New Answer

More C Interview Questions

What is a const pointer, and how does it differ from a pointer to a const?

2 Answers  


How do you determine if a string is a palindrome?

1 Answers  


Why is it that not all header files are declared in every C program?

1 Answers  


# define prod(a,b)=a*b main() { int x=2; int y=3; printf("%d",prod(x+2,y-10)); } the output of the program is a.8 b.6 c.7 d.none

7 Answers   Microsoft, TCS,


print the table 5 in loops

3 Answers  


Explain how to reverse singly link list.

1 Answers  


wat is output of the following int main() { const int j=2; int i; switch(i) { case 1:break; case j:break; default:break; } }

2 Answers  


What does sizeof return c?

1 Answers  


I have seen function declarations that look like this

1 Answers  


Prove or disprove P!=NP.

5 Answers   Microsoft,


What is a floating point in c?

1 Answers  


What's wrong with the call "fopen ("c:\newdir\file.dat", "r")"?

1 Answers  


Categories