Interview Questions

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

C Interview Questions and Answers


(Continued from previous question...)

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

Q: How can I set an array's size at run time? How can I avoid fixed-sized arrays?

A: The equivalence between arrays and pointers allows a pointer to malloc'ed memory to simulate an array quite effectively. After executing
#include <stdlib.h>
int *dynarray;
dynarray = malloc(10 * sizeof(int));

(and if the call to malloc succeeds), you can reference dynarray[i] (for i from 0 to 9) almost as if dynarray were a conventional, statically-allocated array (int a[10]). The only difference is that sizeof will not give the size of the ``array''

(Continued on next question...)

Other Interview Questions