/* Credits to author Filip Strömbäck */ #include #include #include #include #include "memory.h" /* Recommended compile command: * * make debug1 * * Run your code: * * ./debug1 * * Debug with GDB: * * gdb -tui ./debug1 */ int main(void) { int values = 5; // A regular array containing integers int *contents = malloc(sizeof(int) * values); // An array containing pointers to integers // Think: int *data[]; int **data = malloc(sizeof(int *) * values); // Lets fill the arrays: for (int i = 0; i < values; i++) { contents[i] = i * 5; data[i] = &contents[i]; } // Lets print the arrays: for (int i = 0; i <= values; i++) { int *pointer = data[i]; int value = *pointer; printf("At %d: %d\n", i, value); } free(data); free(contents); return 0; }