Dynamic Array In C Code Example


Example 1: allocate memory c

// Use malloc to allocate memory ptr = (castType*) malloc(size); int *exampl = (int*) malloc(sizeof(int)); // Use calloc to allocate and inizialize n contiguous blocks of memory ptr = (castType*) calloc(n, size); char *exampl = (char*) calloc(20, sizeof(char));

Example 2: how to dynamically allocate array size in c

// declare a pointer variable to point to allocated heap space int    *p_array; double *d_array;  // call malloc to allocate that appropriate number of bytes for the array  p_array = (int *)malloc(sizeof(int)*50);      // allocate 50 ints d_array = (int *)malloc(sizeof(double)*100);  // allocate 100 doubles   // use [] notation to access array buckets  // (THIS IS THE PREFERED WAY TO DO IT) for(i=0; i < 50; i++) {   p_array[i] = 0; }  // you can use pointer arithmetic (but in general don't) double *dptr = d_array;    // the value of d_array is equivalent to &(d_array[0]) for(i=0; i < 50; i++) {   *dptr = 0;   dptr++; }

Example 3: C dynamic array

typedef struct {   int *array;   size_t used;   size_t size; } Array;  void initArray(Array *a, size_t initialSize) {   a->array = malloc(initialSize * sizeof(int));   a->used = 0;   a->size = initialSize; }  void insertArray(Array *a, int element) {   // a->used is the number of used entries, because a->array[a->used++] updates a->used only *after* the array has been accessed.   // Therefore a->used can go up to a->size    if (a->used == a->size) {     a->size *= 2;     a->array = realloc(a->array, a->size * sizeof(int));   }   a->array[a->used++] = element; }  void freeArray(Array *a) {   free(a->array);   a->array = NULL;   a->used = a->size = 0; }

Example 4: c malloc array

#define ARR_LENGTH 2097152 int *arr = malloc (ARR_LENGTH * sizeof *arr);

Example 5: allocate memory c

ptr = (castType*)calloc(n, size);

Example 6: C dynamic array

Array a; int i;  initArray(&a, 5);  // initially 5 elements for (i = 0; i < 100; i++)   insertArray(&a, i);  // automatically resizes as necessary printf("%d\n", a.array[9]);  // print 10th element printf("%d\n", a.used);  // print number of elements freeArray(&a);

Comments

Popular posts from this blog

Are Regular VACUUM ANALYZE Still Recommended Under 9.1?

Can Feynman Diagrams Be Used To Represent Any Perturbation Theory?