#ST010. 结构体、指针与联合体综合小测

结构体、指针与联合体综合小测

结构体、指针与联合体综合小测

请完成下面 10 道单项选择题。

  1. 下面哪一项最准确地描述结构体?

{{ select(1) }}

  • 多个成员共享同一块内存
  • 把多个不同类型的成员组合成一个新类型
  • 只能存储整数
  • 只能用于排序
  1. 结构体定义结束后最容易遗漏的符号是?

{{ select(2) }}

  • 冒号
  • 逗号
  • 分号
  • 井号
  1. int a=10; int *p=&a; 中,*p 的值是?

{{ select(3) }}

  • 变量 a 的地址
  • 10
  • 指针 p 的地址
  • 未定义
  1. 执行 *p=25; 后,变量 a 的值是?

{{ select(4) }}

  • 10
  • 25
  • p
  • 随机值
  1. 下面哪段代码会形成野指针风险?

{{ select(5) }}

  • int a=1; int *p=&a;
  • int *p=nullptr;
  • int *p; *p=3;
  • int a=1; cout<<a;
  1. 对结构体指针 Student *p,访问其 score 成员的推荐写法是?

{{ select(6) }}

  • p.score
  • p->score
  • &p.score
  • *p.score
  1. struct Node{int a; char b; int c;};,假设 int 为4字节并按4字节对齐,则 sizeof(Node) 最可能是?

{{ select(7) }}

  • 9
  • 10
  • 12
  • 16
  1. 联合体 union Data{int x; char c;}; 的大小通常是?

{{ select(8) }}

  • 1 字节
  • 4 字节
  • 5 字节
  • 8 字节
  1. 关于联合体,下列说法正确的是?

{{ select(9) }}

  • 所有成员各自拥有独立内存
  • 修改一个成员不会影响其他成员
  • 所有成员共享同一块内存
  • 联合体不能包含数组
  1. 多关键字排序中,正确的比较思路是?

{{ select(10) }}

  • 只比较最后一个关键字
  • 先比较第一关键字,相同再比较下一关键字
  • 每次随机选择关键字
  • 所有关键字必须升序