数组指针:可以说成数组的指针,首先这个变量是一个指针(一个指针变量),其次,”数组”修饰这个指针,意思是说这个指针存放着一个数组的首地址,或者说这个指针指向一个数组的首地址
#include <stdio.h>
#include <stdlib.h>
//"数组指针",一个指针
int main()
{
int a[3] = {1,2,3};
//int (*p)[3];
char (*p)[3];//数组的指针,强调的是类型,数组的元素个数,偏移值是偏移了
//整个数组的大小
p = a;
//int *p2;
char* p2;
p2 = a;
printf("数组的地址是: %p\n",a);
printf("数组的地址是: %p\n",&a[0]);
printf("p数组的地址是: %p\n",p);
printf("p2数组的地址是: %p\n",p2); //0060FEDC
printf("==============区别在此=============\n");
printf("p++的结果是: %p\n",++p); // 0060FEDF
// - = 3
//0060FEDC
printf("p2++的结果是: %p\n",++p2); //0060FEDD
// - = 1
//0060FEDC
/*
int *p;//此指针并非是数组指针,仅仅是一个普通的整型数的指针,刚好指向了
//数组的首元素地址a 或&a[0]
p = a;
int i;
for(i=0;i<3;++i)
{
printf("%d\n",*p++);
}
*/
system("pause");
return 0;
}