84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
#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