永发信息网

int(*ptr)[3]; 这是个数组指针吗? 指针所指向的类型与指针的类型 表达式是分别是什么?

答案:5  悬赏:70  手机版
解决时间 2021-02-23 05:29
  • 提问者网友:战魂
  • 2021-02-22 12:31
int(*ptr)[3]; 这是个数组指针吗? 指针所指向的类型与指针的类型 表达式是分别是什么?
最佳答案
  • 五星知识达人网友:荒野風
  • 2021-02-22 12:47
首先这个是数组指针,
对于这种类型要怎么看呢,首先看括号里,ptr首先是个指针,然后看吧括号看成一个整体,在看这个指针指向的是一个3个元素的整形数组。
连起来说,ptr是个指向整形数组的指针。
所以指针的类型表达式是int(*)[3]
指向的类型是int [3];
全部回答
  • 1楼网友:独钓一江月
  • 2021-02-22 16:05
int (*ptr)[3]
括号的优先级最高,所以你声明的是一个指针,这个指针指向一个匿名的整型数组,其元素个数为3个
  • 2楼网友:时间的尘埃
  • 2021-02-22 14:47
楼上的回答都是不完全对的,概念也不明确。
int(*ptr)[3] 只是一个指向 二维数组的 int型指针而已。
指向二维数组,这个数组的元素是int 型,指针本身只是4个字节的存储,用来保存这个二维数组的首地址而已。
指针所指向的类型 也就是 int* ptr,这是一个int型指针,指向int 数据
指针的类型 指针的的类型也就是指向的元素的类型,指针本身永远只是4个字节,存贮指向元素的地址而已,除非这一个void 型指针。
  • 3楼网友:第四晚心情
  • 2021-02-22 13:08
类型就是指向三个整数元素数组 int[3] 的指针
int t[2][3];
int(*ptr)[3];
ptr = t;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯