Memory
Malloc Array
malloc can allocate enough heap storage for several elements.
Malloc Array
malloc_array.c
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int count = ;
int *values = (int *)malloc((size_t)count * sizeof(int));
int sum = 0;
if (values == 0) {
return 1;
}
for (int i = 0; i < count; i++) {
values[i] = i + 1;
sum += values[i];
}
printf("sum=%d\n", sum);
free(values);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int count = ;
int *values = (int *)malloc((size_t)count * sizeof(int));
int sum = 0;
if (values == 0) {
return 1;
}
for (int i = 0; i < count; i++) {
values[i] = i + 1;
sum += values[i];
}
printf("sum=%d\n", sum);
free(values);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int count = ;
int *values = (int *)malloc((size_t)count * sizeof(int));
int sum = 0;
if (values == 0) {
return 1;
}
for (int i = 0; i < count; i++) {
values[i] = i + 1;
sum += values[i];
}
printf("sum=%d\n", sum);
free(values);
return 0;
}
element count
The requested byte count is the number of elements times the size of one element.
heap array
The returned pointer can be indexed like an array within the allocated range.