#include #include int main(void) { int num_elements = 5; int my_data[5] = {1, 2, 3, 4, 5}; printf("my_data is: %p\n", my_data); printf("my_data is: %d\n", my_data[0]); printf("my_data is: %d\n", *my_data); // equivalent printf("my_data is: %d\n", my_data[1]); printf("my_data is: %d\n", *(my_data+1)); // allocating 5 * 8 bytes on the heap // returns the address of the heap where the alloc was // int *data = malloc(num_elements * sizeof(int)); // data[0] = 1; // data[1] = 2; // data[2] = 3; // data[3] = 4; // data[4] = 5; // printf("%d\n", data[0]); // printf("%d\n", data[1]); // printf("%d\n", data[2]); // printf("%d\n", data[3]); // printf("%d\n", data[4]); // // this reallocs to 1 greater, so 6 elements // data = realloc(data, (num_elements + 1) * sizeof(int)); // data[5] = 6; // printf("%d\n", data[5]); return 0; }