C 语言 指针数组与数组指针
发布网友
发布时间:2022-06-28 11:35
我来回答
共1个回答
热心网友
时间:2023-10-09 10:49
int(*p)[4],这个就是行指针
这种类型的指针p是指向一个一维数组,这个一维数组包含4个整形元素
但是 int a[4];p=a; 这种方式却是不对的
因为p只能指向一个整型的一维数组,不能指向一个整型数据,a所指向的正是a[0],是个整型数;
实际上int(*p)[4]这种类型的指针是用于*数组中的,比如定义一个二维数组int b[3][4],就可以这样赋值p=&b[0],使p指向一维数组b[0],而且p的增减是以一维数组的长度为单位的,比如p+1指向的就是b[1]了
int *p[4]这个是指针数组了,首先弄明白这个是数组,里面存放的是指针也就是地址,这个地址所指向的是一个整型数据,你可以把p[0],p[1]....当作一个个的指针变量来使用
我学的时候也弄了半天才搞明白,这是我总结的,你多看看指针那关于*数组与指针的一节,做些练习自己验证几次就容易弄明白了