[prev] 13 [next]

Dynamic Data Example (cont)

Suggestion #3: create vector after count read in

#include <stdlib.h>

// how many elements in the vector
int numberOfElems;
scanf("%d", &numberOfElems);

// declare vector and fill with user input
int i, *vector;
size_t numberOfBytes;
numberOfBytes = numberOfElems * sizeof(int);

vector = malloc(numberOfBytes);
assert(vector != NULL);

for (i = 0; i < numberOfElems; i++)
   scanf("%d", &vector[i]);

Works unless the heap is already full  (very unlikely)

Reminder: because of pointer/array connection   &vector[i] == vector+i