永发信息网

C语言 请问long *(*p)[10]是什么意思

答案:3  悬赏:20  手机版
解决时间 2021-04-01 12:46
  • 提问者网友:献世佛
  • 2021-04-01 03:37
C语言 请问long *(*p)[10]是什么意思
最佳答案
  • 五星知识达人网友:山有枢
  • 2021-04-01 04:30
[] 的等级比 * 高,先看看这2个:
①char *a[],等价于 *(a[]),最后结果是 指针(*),也就是说,这是个指针。但指向什么呢?括号内的 a[]是个数组,也就是说,它指向的是个数组(数据类型为 char)。最后得到结论:这是个指向数组的指针,俗称数组指针。
②int (*b)[],最后结果是个 数组([]),但数组的元素是什么呢?括号内的 *b 是个指针,也就是说,数组的元素是个指针(数据类型为 int),最后得到结论:这是个由指针构成的数组,俗称指针数组。
现在看看题目:
long *(*p)[10],等价于 *((*p)[10]),最后结果是指针,括号内是 指针数组【(*p)[10],参考②】,最后得到结论:这是个指向 指针数组 的指针。放开讲就是:这是个指针,它指向数组,数组的元素是 指针(数据类型 long)。追问可是序号1和序号2内容反了
全部回答
  • 1楼网友:酒安江南
  • 2021-04-01 06:50
定义了一个指针数组。追问单纯定义指针数组的话没有第一个*不对追答*p就相当于int a[10]的a
  • 2楼网友:白昼之月
  • 2021-04-01 05:19
定义了一个数组指针,改指针指向了一个数组,数组里面有10个元素,元素的类型都是long *型追问你确定吗我们刚学C语言,我其他同学坚持认为这是一个二重指针追答确定也算是二重指针啊不是二重指针
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯