Dynamic Memory
C dynamic memory allocation
C malloc and free
C dynamic memory allocation with malloc and free
#include <stdio.h>
#include <stdlib.h>
int main() {
int *arr;
int size = 5;
arr = (int*)malloc(size * sizeof(int));
if (arr == NULL) {
printf("Memory allocation failed\n");
return 1;
}
for (int i = 0; i < size; i++) {
arr[i] = i * 10;
}
for (int i = 0; i < size; i++) {
printf("arr[%d] = %d\n", i, arr[i]);
}
free(arr);
return 0;
}
C calloc and realloc
C dynamic memory with calloc and realloc
#include <stdio.h>
#include <stdlib.h>
int main() {
int *arr;
int size = 3;
arr = (int*)calloc(size, sizeof(int));
if (arr == NULL) {
printf("Memory allocation failed\n");
return 1;
}
for (int i = 0; i < size; i++) {
arr[i] = i + 1;
}
arr = (int*)realloc(arr, 5 * sizeof(int));
if (arr == NULL) {
printf("Memory reallocation failed\n");
return 1;
}
arr[3] = 4;
arr[4] = 5;
for (int i = 0; i < 5; i++) {
printf("arr[%d] = %d\n", i, arr[i]);
}
free(arr);
return 0;
}