====== 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;
}