C 结构体、联合体、枚举测试 1

2025 年 3 月 28 日 | 阅读 2 分钟

1) 结构体、联合体和枚举之间有什么相似之处?

  1. 都用于定义新的数据类型
  2. 都用于定义新变量
  3. 都用于定义新结构体
  4. 都用于定义新指针

正确选项是 (a)。

说明

结构体、枚举和联合体都可以在 C 语言中用于定义新的数据类型。

它用于创建新的数据类型,其中包含用户定义数据类型内的所有类型的数据,如 int、char、float、数组。因此,用户可以以简单的方式使用新的值和操作逻辑。

2) 如何在 C 程序中释放分配的内存?

  1. delete(var-name)
  2. dalloc(var-name)
  3. remove(var-name)
  4. free(var-name)

正确选项是 (d)。

说明

内置函数 free(var-name) 用于释放或清理内存空间。如果我们使用 free(),则引用的内存位置可以被释放以供将来使用或其他操作。

因此,free(var-name) 用于清理 C 程序中已分配的内存。

3) 联合体可以嵌套在结构体中。

  1. true
  2. False

正确选项是 (a)。

说明

在结构体的地址映射或分配中,程序将其中的联合体视为一种数据类型。

因此,联合体可以嵌套在结构体中的说法是正确的。

4) 下面的程序将输出什么?

  1. A
  2. 65
  3. 97
  4. 垃圾值

正确选项是 (b)。

说明

联合体变量为所有元素共享相同的内存,'a' 获取 'A',其 ASCII 值为 65。

语句 printf("%d", var.a); 用于在输出中打印值 65。

因此,程序的输出是65。

5) 联合体和结构体的元素总是使用 & 运算符访问。

  1. 是的
  2. 不能

正确选项是 (b)。

说明

不,因为联合体和结构体的元素总是使用点 (.) 运算符访问。