#PTRT01. 指针基础理论专项
指针基础理论专项
指针基础理论专项
说明
本题为指针专题理论练习。请根据 C++ 指针基础知识选择最合适的答案。
1. 关于“指针”的说法,正确的是( )。
{{ select(1) }}
- A. 指针只能存整数
- B. 指针是存储内存地址的变量
- C. 指针本身没有类型
- D. 指针只能用于数组
2. 已知 int a = 10;,表达式 &a 表示( )。
{{ select(2) }}
- A. a 的值
- B. a 的地址
- C. a 的类型
- D. a 占用的字节数
3. 语句 int *p; 中的 * 表示( )。
{{ select(3) }}
- A. 乘法
- B. 解引用
- C. p 是一个 int 指针变量
- D. 取地址
4. 下列初始化正确的是( )。
{{ select(4) }}
- A. int a=5; int *p=&a;
- B. int a=5; double *p=&a;
- C. int *p=&10;
- D. int *p=5;
5. 执行 int a=5; int *p=&a; 后,*p 的值是( )。
{{ select(5) }}
- A. 0
- B. 5
- C. a 的地址
- D. p 的地址
6. 接上题,执行 *p = 10; 后,a 的值是( )。
{{ select(6) }}
- A. 5
- B. 10
- C. 不确定
- D. 编译错误
7. 代码 int *p; *p = 5; 的主要问题是( )。
{{ select(7) }}
- A. p 是空指针
- B. p 是野指针,未初始化就解引用
- C. 不能给 *p 赋值
- D. int 不能使用指针
8. 如果暂时不让指针指向有效对象,C++11 更推荐写( )。
{{ select(8) }}
- A. int *p = 0.0;
- B. int *p = nullptr;
- C. int *p = &0;
- D. int *p; *p=nullptr;
9. 下列关于 * 的说法正确的是( )。
{{ select(9) }}
- A. 定义时和使用时含义完全相同
- B. 定义时表示指针类型,使用时可表示解引用
- C. 只能出现在指针定义中
- D. 只能表示乘法
10. 已知 int arr[5]={1,2,3,4,5};,在常见表达式中数组名 arr 与( )对应首元素地址。
{{ select(10) }}
- A. &arr[0]
- B. arr[0]
- C. *arr[0]
- D. &arr[1]
粤公网安备44195502000195号