Back
Syntax
Study
Editor
Mode:
HTML
CSS
JavaScript
PHP
Reset
Run »
HTML / CSS / JS
#include <stdio.h> #include <stdlib.h> #include <string.h> /* Dynamic array: grow on demand */ int main(void) { size_t capacity = 4; size_t count = 0; int *arr = malloc(capacity * sizeof(int)); if (!arr) { perror("malloc"); return EXIT_FAILURE; } /* Fill beyond initial capacity to trigger realloc */ for (int i = 0; i < 10; i++) { if (count == capacity) { capacity *= 2; int *tmp = realloc(arr, capacity * sizeof(int)); if (!tmp) { free(arr); /* don't leak on failure */ perror("realloc"); return EXIT_FAILURE; } arr = tmp; printf("Grew to capacity %zu ", capacity); } arr[count++] = i * i; } printf("Array: "); for (size_t k = 0; k < count; k++) printf("%d ", arr[k]); printf(" "); /* calloc: zero-initialised */ int *zeros = calloc(5, sizeof(int)); if (zeros) { printf("calloc zeros: %d %d %d ", zeros[0], zeros[1], zeros[2]); free(zeros); } free(arr); /* always free what you malloc */ return EXIT_SUCCESS; }
Result
Open