#include int main(int argc, const char *argv[]) { int array[] = {1,2,3,4,5,42}; int array2[] = {4,3,2,1}; int *pointer = array; // The access of an array and a pointer are equivalent printf("*array = %d, *pointer= %d, array[0] = %d pointer[0] = %d\n", *array, *pointer, array[0], pointer[0]); // you can't do this: // array = array2; // you can do this: pointer = array2; // There are some minor differences between pointers an arrays. printf("sizeof(array) = %d, sizeof(pointer)= %d", sizeof(array),sizeof(pointer)); }