指针数组:本质是一个数组,数组的元素是指针;
数组指针:本质是一个指针,指向一个数组;
实际测试:
注:%zu是以无符号十进制输出size_t类型的数据,sizeof()的返回值类型便是size_t类型,在64位系统中,size_t 类型是unsigned long型,在32位系统中,size_t 类型是unsigned int型。
- int p[100]是一个指针数组,p先与[]结合形成一个数组,数组的每个元素是int 的指针,所以sizeof(p)是400;
- p是数组p的第一个元素,即一个int 的指针,故sizeof(*p)是4;
- int (r)[100],r先于结合,再与[]结合,可以把*r看成是一个数组,那么r仅仅是个指针,指针指向数组*r,故sizeof(r)是4,sizeof(*r)是400。