所以指针的类型是int(*)[3] //不是二维数组吗?int(*)[3]怎么能表示二维数组吗?
指向的类型是int [3];
int(*ptr)[3] 就是二维数组int ptr[2][3]?
答案:3 悬赏:40 手机版
解决时间 2021-03-11 08:46
- 提问者网友:我没有何以琛的痴心不悔
- 2021-03-11 00:24
最佳答案
- 五星知识达人网友:逐風
- 2021-03-11 01:20
int(*ptr)[3] 就是二维数组int ptr[2][3]?
==明确的告诉你,肯定不是
int *ptr [3]的含义是,有三个int类型:ptr [0], ptr [1], ptr [2]
具体的你可以到我空间里看一篇相关文章 :
从语法上看,你只须把指针声明语句中的指针名字和名字左边的指针声明符*去掉,剩下的就是指针所指向的类型。例如:
(1)int* ptr;//指针所指向的类型是int
(2)char* ptr;//指针所指向的的类型是char
(3)int** ptr;//指针所指向的的类型是int*
(4)int (*ptr)[3];//指针所指向的的类型是int()[3]
(5)int* (*ptr)[4];//指针所指向的的类型是int*()[4]
==明确的告诉你,肯定不是
int *ptr [3]的含义是,有三个int类型:ptr [0], ptr [1], ptr [2]
具体的你可以到我空间里看一篇相关文章 :
从语法上看,你只须把指针声明语句中的指针名字和名字左边的指针声明符*去掉,剩下的就是指针所指向的类型。例如:
(1)int* ptr;//指针所指向的类型是int
(2)char* ptr;//指针所指向的的类型是char
(3)int** ptr;//指针所指向的的类型是int*
(4)int (*ptr)[3];//指针所指向的的类型是int()[3]
(5)int* (*ptr)[4];//指针所指向的的类型是int*()[4]
全部回答
- 1楼网友:長槍戰八方
- 2021-03-11 03:22
int (*ptr)[m] ptr是一个指向m长度的线性内存空间,即m大小的一维数组
int(*ptr)() ptr是一个返回值为int ,参数列表为空的函数指针类型。
- 2楼网友:封刀令
- 2021-03-11 02:15
int(*ptr)[3]并非二维数组int ptr[2][3],而是定义了一个指针ptr,其指向一个有3个元素的整型数组类型,可以定义一个二维数组 int p[2][3]; ptr=p; printf("%d,%d",sizeof(p),sizeof(ptr));
结果是4,12. 因为前者是指针而不是指针
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯