C语言指针赋值:int x, *pb; 如何正确给pb赋值?
若有定义:int x, *pb; 则以下能正确给 pb 赋值的表达式是( )
A. pb = &x;
B. pb = *x;
C. *pb = &x;
D. *pb = *x;
正确答案:A
解析:
- pb 是一个指向 int 类型数据的指针变量,它存储的是一个地址。
- &x 获取变量 x 的地址。
- 因此,只有选项 A 中的表达式 pb = &x; 是正确的,将变量 x 的地址赋值给指针变量 pb。
其他选项错误原因:
- 选项 B:*x 表示获取变量 x 的值,不能赋值给指针变量。
- 选项 C:*pb 表示获取指针 pb 所指向的内存地址上的值,不能赋值给地址。
- 选项 D:*pb 和 *x 都是获取值,不能进行赋值。
总结:
在给指针变量赋值时,要确保赋值的是一个地址,而不是一个值。
原文地址: http://www.cveoy.top/t/topic/bWef 著作权归作者所有。请勿转载和采集!