永发信息网

c语言:若有定义int(*pt)[3];,则下列说法不正确的是()

答案:3  悬赏:80  手机版
解决时间 2021-01-22 19:53
  • 提问者网友:沉默菋噵
  • 2021-01-21 21:20
c语言:若有定义int(*pt)[3];,则下列说法不正确的是()
最佳答案
  • 五星知识达人网友:玩家
  • 2021-01-21 21:44
C是错误的,所以选C是正确答案。因为*pt什么名也不是,C规定标识符只能以字母或_开头。其他都是正确的。关于D,那是忽悠人的,不仅可以指向“有三个整数元素的二维数组”,它还可以指向有三个整数元素的三维数组、四维数组...n维数组……追问终于有跟其他人不同的答案了!!见解独到!
全部回答
  • 1楼网友:山河有幸埋战骨
  • 2021-01-21 23:05
不正确的是D追问我认为D没错啊!pt是一个指针变量,是可以指向二维数组的每一行追答非逼我把空间里珍藏了很久的经典指针和数组的解说都贴出来!!!
上面是翻译下面是英文原版,自己看
a) 一个整型数(An integer)
b) 一个指向整型数的指针(A pointer to an integer)
c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an integer)
d) 一个有10个整型数的数组(An array of 10 integers)
e) 一个有10个指针的数组,该指针是指向一个整型数的(An array of 10 pointers to integers)
f) 一个指向有10个整型数数组的指针(A pointer to an array of 10 integers)
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that takes an integer as an argument and returns an integer)
h)
一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数( An array of ten pointers to
functions that take an integer argument and return an integer )
答案是:
a) int a; // An integer
b) int *a; // A pointer to an integer
c) int **a; // A pointer to a pointer to an integer
d) int a[10]; // An array of 10 integers
e) int *a[10]; // An array of 10 pointers to integers
f) int (*a)[10]; // A pointer to an array of 10 integers
g) int (*a)(int); // A pointer to a function a that takes an integer argument and returns an integer h) int (*a[10])(int); // An array of 10 pointers to functions that take an integer argument and return an integer
  • 2楼网友:雾月
  • 2021-01-21 22:59
选D。不是二维数组。而是一维数组。二维的话应该为两个【】,不是一个的。追问可以指向二维数组的每一行啊?追答但是题目定义的是一维数组。在这里只能指向一维数组了追问二维数组不是由一维数组构成的吗/?所以pt可以指向二维数组里的每一行一维数组追答我记得二维数组不是这样定义的。追问二维数组不相当于两个一维数组组成吗?非得书上说了才是啊?想都想得到啊!追答确实可以,我知道。我又想了一下,
那就是选择C,“定义了一个名为*pt”不对,应该去掉*。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯