Interview Questions and Answers :: Cisco
Home > Experience Archives > Cisco > Interview Question Set 2 > Discussion
10. How will you allocate a memory to 2d integer array ??
Answer:
#include
Void main() {
int **array;
array = (int **)malloc(nrows * sizeof(int *));
if(array == NULL)
{
fprintf(stderr, "out of memory\n");
return;
}
for(i = 0; i < nrows; i++)
{
array[i] = (int *)malloc(ncolumns * sizeof(int));
if(array[i] == NULL)
{
fprintf(stderr, "out of memory\n");
return;
}
}
for(i = 0; i < nrows; i++)
free(array[i]);
free(array);
}
Amrita Sinha
10 Sep, 2016 2:58 AM
#include
Void main() {
int **array;
array = (int **)malloc(nrows * sizeof(int *));
if(array == NULL)
{
fprintf(stderr, "out of memory\n");
return;
}
for(i = 0; i < nrows; i++)
{
array[i] = (int *)malloc(ncolumns * sizeof(int));
if(array[i] == NULL)
{
fprintf(stderr, "out of memory\n");
return;
}
}
for(i = 0; i < nrows; i++)
free(array[i]);
free(array);
}
Void main() {
int **array;
array = (int **)malloc(nrows * sizeof(int *));
if(array == NULL)
{
fprintf(stderr, "out of memory\n");
return;
}
for(i = 0; i < nrows; i++)
{
array[i] = (int *)malloc(ncolumns * sizeof(int));
if(array[i] == NULL)
{
fprintf(stderr, "out of memory\n");
return;
}
}
for(i = 0; i < nrows; i++)
free(array[i]);
free(array);
}
Report Error
Report Error
Please Login First Click Here