一、数组名
1、绝大多数情况下数组名表示数组首元素的地址,如:
int arr[ 10] = {0,1,2,3,4,5,6,7,8,9};
printf("%p\n",arr); //arr表示首元素地址
2、但是数组名在以下两种情况下不表示首元素地址
1)&arr //此时arr表示整个数组,&arr表示整个数组地址;
2)sizeof(arr) //此时arr表示整个数组,sizeof(arr)表示整个数组大小(字节)
3、指针可以访问数组的元素
二、二级指针
例:int a = 10;
int* pa = &a;
int** ppa = &pa;; //ppa就是二级指针
ppa指向pa的地址,*ppa==pa **ppa==a
三、指针数组
例: int* arr[3] = { &a , &b , &c};
其实就是存放地址的数组。