数组指针和指针数组
数组的指针(即数组指针)是指针;
指针的数组(即指针数组)是数组;
数组指针是指向数组的指针;
指针数组是数组元素均为指针。
*数组指针(p)[ ]
#include <stdio.h>
int main()
{
//一维数组
int a[5] = {
1, 2, 3, 4, 5 };
int b=0;
//步长为5的数组指针,即数组里有5个元素
int (*p)[5];
int *q=&b;
//把数组a的地址赋给p,则p为数组a的地址,则*p表示数组a本身
p = &a;
//%p输出地址, %d输出十进制
//\n回车
//在C中,在几乎所有使用数组的表达式中,数组名的值是个指针常量,也就是数组第一个元素的地址,它的类型取决于数组元素的类型。
printf("%p\n", a); //输出数组名,一般用数组的首元素地址来标识一个数组,则输出数组首元素地址
printf("%p\n", p); //根据上面,p为数组a的地址,输出数组a的地址
printf("%p\n", *p);