====== Pointers and arrays ====== /* name of an array (without index) is the address of first element */ #include int main() { int a[3] = {7, 15, 19}; printf("\n"); printf(" a[0] = %d\n", a[0]); printf(" &a[0] = %p\n", &a[0]); printf(" a = %p\n", a); printf(" *a = %d\n", *a); printf("\n"); printf(" a[1] = %d\n", a[1]); printf(" &a[1] = %p\n", &a[1]); printf(" (a+1) = %p\n", a+1); printf("*(a+1) = %d\n", *(a+1)); printf("\n"); printf(" a[2] = %d\n", a[2]); printf(" &a[2] = %p\n", &a[2]); printf(" (a+2) = %p\n", a+2); printf("*(a+2) = %d\n", *(a+2)); return 0; } /* accessing array members using pointer */ /* arithmetics on array name is invalid */ #include int main() { int a[] = {23, 46, 28, 48}; int *p = a; int i; for(i=0; i<4; i++) { printf("a[i] = %d\n", *p); p++; // a++ is invalid } return 0; }