C语言关于指向一维数组的指针的用法

我是个C的新手,想请教大家,如果把指针数组定义错成int (*p)[4]后,这个东西怎么用,只能指向有四个元素的一维数组吗

2个回答

这就变成了指针数组了, 数组元素类型为 int*

Sorive
Heleninsa 回复haoqiboy: int a[] = {1,3,5}; int (*p)[4]; p = (int(*)[4])&a;
3 年多之前 回复
Sorive
Heleninsa 回复haoqiboy: 实际上C++对数组越界是不做检查的,你可以指向包含3个元素的一维数组,但是访问的第四个数据肯定是错的。
3 年多之前 回复
Sorive
Heleninsa 回复haoqiboy:哦。。没注意那个括号。
3 年多之前 回复
haoqiboy
haoqiboy 不是这不是指针数组,这只是一个指针
3 年多之前 回复

int* p[4];才是四个指针。感觉你的写法就是指向四个元素的数组。因为int[4]也是一种类型。感觉…先mark

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问