Listing 1 Shows that an array name is pointer
/* array1.c: Uses an array name as a pointer */ /* NOTE: Pointers and ints are 2-bytes in all examples */ #include <stdio.h> main() { int a[] = {0,1,2,3,4}; int *p = a; printf("sizeof a == %d\n",sizeof a); printf("sizeof p == %d\n",sizeof p); printf("p == %p, &a[0] == %p\n",p,&a[0]); printf("*p == %d, a[0] == %d\n",*p,a[0]); p = a + 2; printf("p == %p, &a[2] == %p\n",p,&a[2]); printf("*p == %d, a[2] == %d\n",*p,a[2]); return 0; } /* OUTPUT sizeof a == 10 sizeof p == 2 p == FFEC, &a[0] == FFEC *p == 0, a[0] == 0 p == FFFO, &a[2] == FFFO *p == 2, a[2] == 2 */ /* End of File */