永发信息网

int(*ptr)[3] 就是二维数组int ptr[2][3]?

答案:3  悬赏:40  手机版
解决时间 2021-03-11 08:46
  • 提问者网友:我没有何以琛的痴心不悔
  • 2021-03-11 00:24
所以指针的类型是int(*)[3] //不是二维数组吗?int(*)[3]怎么能表示二维数组吗?
指向的类型是int [3];
最佳答案
  • 五星知识达人网友:逐風
  • 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]
全部回答
  • 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. 因为前者是指针而不是指针
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯