若有定义:int(*p)[4],则p是一个指向含有四个整型元素的一维数组的指针。这句话是正确的吗?

 我来答
刺任芹O
2022-11-16 · TA获得超过6.1万个赞
知道顶级答主
回答量:38.7万
采纳率:99%
帮助的人:8063万
展开全部

正确的。

数组指针是指向数组地址的指针,其本质为指针;指针数组是数组元素为指针的数组(例如 int *p[4],定义了p[0],p[1],p[2],p[3]三个指针),其本质为数组。数组指针的使用在某些情况下与指针数组很相似,要注意区别。

p是一个指针变量,它指向包含4个int元素的一维数组,此时p的增量以它所指向的一维数组长度为单位。

*(p+i)是一维数组a[i][0]的地址;*(p+2)+3表示a[2][3]地址(第一行为0行,第一列为0列),*(*(p+2)+3)表示a[2][3]的值。

扩展资料:

对指针进行初始化或赋值只能使用以下四种类型的值:

1. 0 值常量表达式,例如,在编译时可获得 0 值的整型 const对象或字面值常量 0。

2. 类型匹配的对象的地址。

3. 另一对象末的下一地址。

4. 同类型的另一个有效指针。

参考资料:

百度百科-指针数组

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式