如下
#include"stdio.h"
int main(int argc, char const *argv[])
{
int a[5] = {1,2,3,4,5};
a[6] = 100;
printf("%d\n", a[6]);
int *p = a;
//int *t = p;
//int *q= a;
// p = p + 6;
printf("%p, *p: %d", p,*p);
printf(" a[6]:%d", a[6]);
return 0;
}
//output
100
000000000061FE00, *p: 1 a[6]:6422016
然而
#include"stdio.h"
int main(int argc, char const *argv[])
{
int a[5] = {1,2,3,4,5};
a[6] = 100;
printf("%d\n", a[6]);
int *p = a;
int *t = p; //int *t = a;
//int *q= a;
// p = p + 6;
printf("%p, *p: %d", p,*p);
printf(" a[6]:%d", a[6]);
return 0;
}
//output
100
000000000061FDF0, *p: 1 a[6]:100
尝试三个指针
#include"stdio.h"
int main(int argc, char const *argv[])
{
int a[5] = {1,2,3,4,5};
a[6] = 100;
printf("%d\n", a[6]);
int *p = a;
int *t = p;
int *q= a;
// p = p + 6;
printf("%p, *p: %d", p,*p);
printf(" a[6]:%d", a[6]);
return 0;
}
//output
100
000000000061FDF0, *p: 1 a[6]:6422000