AI智能推荐题库-试题通 AI智能整理导入题库-试题通
×
首页 题库中心 c语言选择判断题库 题目详情
CA4E3A01C46000013755684012D01E55
c语言选择判断题库
379
单选题

1、第218题 (1.0分) 题号:191 设有说明int ( )[M];其中标识符ptr是()。

A
 M个指向整型变量的指针
B
 指向M个整型变量的函数指针
C
 一个指向具有M个整型元素的一维数组的指针
D
 具有M个指针元素的一维指针数组,每个元素都只能指向整型量

答案解析

正确答案:C

解析:

这道题考查的是 C 语言中**数组指针**(Pointer to Array)与**指针数组**(Array of Pointers)声明语法的区别。虽然题目中的说明 `int ( )[M]` 存在排版缺失(通常应为 `int (*ptr)[M];`),但结合选项和常见的考点逻辑,我们可以推断其意图是考察 `int (*ptr)[M]` 这种形式。 ### 详细解析: 1. **语法结构分析**: 在 C 语言中,声明 `int (*ptr)[M];` 的含义如下: * `ptr` 是一个标识符。 * `*ptr` 表示 `ptr` 是一个指针。 * `(*ptr)[M]` 表示这个指针指向一个包含 `M` 个元素的一维数组。 * `int` 表示该数组中的每个元素都是整型(`int`)。 因此,`ptr` 是一个**指向具有 M 个整型元素的一维数组的指针**,简称“数组指针”。 2. **选项辨析**: * **A. M个指向整型变量的指针** * 这描述的是**指针数组**。 * 对应的声明应该是:`int *ptr[M];` * 这里 `[]` 的优先级高于 `*`,所以 `ptr` 先与 `[M]` 结合,表示 `ptr` 是一个有 M 个元素的数组,数组的每个元素是 `int *`(指向整型的指针)。这与题意不符。 * **B. 指向M个整型变量的函数指针** * 函数指针的声明通常包含参数列表,例如 `int (*ptr)(int, int);`。 * 题目中没有函数调用的括号 `()` 作为参数列表的特征,且 `int [M]` 是数组类型,不是函数类型。故排除。 * **C. 一个指向具有M个整型元素的一维数组的指针** * 这正是 `int (*ptr)[M];` 的标准定义。 * `ptr` 本身是一个指针,它指向的对象是一个整体,即一个长度为 M 的 `int` 数组。 * **这是正确答案。** * **D. 具有M个指针元素的一维指针数组,每个元素都只能指向整型量** * 这同样描述的是**指针数组**,与选项 A 含义相同。 * 对应的声明是 `int *ptr[M];`。故排除。 ### 总结记忆技巧: * **`int *ptr[M]`**:`[]` 优先级高,`ptr` 是数组,存的是指针 -> **指针数组**。 * **`int (*ptr)[M]`**:`()` 强制优先级,`*ptr` 是指针,指向数组 -> **数组指针**。 题目中的写法 `int ( )[M]` 虽不完整,但根据上下文语境及选项 C 的描述,显然是在考察**数组指针**的概念。 **正确答案:C**
题目纠错
c语言选择判断题库

扫码进入小程序
随时随地练习

关闭登录弹窗
专为自学备考人员打造
勾选图标
自助导入本地题库
勾选图标
多种刷题考试模式
勾选图标
本地离线答题搜题
勾选图标
扫码考试方便快捷
勾选图标
海量试题每日更新
波浪装饰图
欢迎登录试题通
可以使用以下方式扫码登陆
APP图标
使用APP登录
微信图标
使用微信登录
试题通小程序二维码
联系电话:
400-660-3606
试题通企业微信二维码