84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
#include<iostream.h> void main(){ int n[][3]={10,20,30,40,50,60}; int (*p)[3]; p=n; cout<<p[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<<endl; }
跪求解答,这么声明的话p是指向一个有三个元素的数组吗?
欢迎选择我的课程,让我们一起见证您的进步~~
哥们你这是怎么了 哈哈太久没碰这么基础的玩意了 推荐你一本书 你必须知道的495个C语言问题再说你的问题int(*p)[3] 中的p是一个指向数组的指针,此数组有3个int类型的元素所以p和n可以等
p的类型应该是int[3]~
int(*p)[3] 中的p是一个指向数组的指针,此数组一维空间不确定,二维空间是三个元素,所有元素都是int型的,所以用n来赋值给p的。在c语言中*p相当于是一个长度不确定的数组。所以int(*p )[3]相当于int p[][3]
p貌似是个长度不限的 int型数组的首地址,然后前6个就是10到60,而后面的则是随机乱码。
噗,难道你学的是谭X强?C++主函数的声明从来都没有过这种写法:
void main()
只有
int main()
和
int main(int argc, char *argv[])
然后,关于变量声明的读法,从变量名开始,由(括号)内到外,从右到左:int (*p)[3]p is apointer toarray of 3 elements ofint
int (*p)[3]
哥们你这是怎么了 哈哈
太久没碰这么基础的玩意了
推荐你一本书 你必须知道的495个C语言问题
再说你的问题
int(*p)[3] 中的p是一个指向数组的指针,此数组有3个int类型的元素
所以p和n可以等
p的类型应该是int[3]~
int(*p)[3] 中的p是一个指向数组的指针,此数组一维空间不确定,二维空间是三个元素,所有元素都是int型的,所以用n来赋值给p的。
在c语言中*p相当于是一个长度不确定的数组。
所以int(*p )[3]相当于int p[][3]
p貌似是个长度不限的 int型数组的首地址,然后前6个就是10到60,而后面的则是随机乱码。
噗,难道你学的是谭X强?
C++主函数的声明从来都没有过这种写法:
只有
和
然后,关于变量声明的读法,从变量名开始,由(括号)内到外,从右到左:
int (*p)[3]
p is a
pointer to
array of 3 elements of
int