以下叙述中正确的是

admin2018-11-21  22

问题 以下叙述中正确的是

选项 A、如果p是指针变量,则*p表示变量p的地址值
B、如果p是指针变量,则&p是不合法的表达式
C、在对指针进行加、减算术运算时,数字1表示1个存储单元的长度
D、如果p是指针变量,则*p+1和*(p+1)的效果是一样的

答案C

解析 移动指针是对指针变量加上或减去一个整数,或通过赋值运算,使指针变量指向相邻的存储单元。因此,只有当指针指向一串连续的存储单元时,指针的移动才有意义。当指针指向一串连续的存储单元时,可以对指针变量进行加上或减去一个整数的运算,也可以对指向同一串连续存储单元的两个指针进行相减的运算。除此之外,不可以对指针进行任何其他的算术运算。C语言提供了一个间接访问运算符(*),又称间址运算符,它是一个单目运算符,优先级比较高,高于普通的算术运算符,但是低于()运算符,因此*p+1和*(p+1)的含义是不一样。当指针变量中存放了一个确切的地址值时,就可以用“间接访问运算符”通过指针来引用该地址的存储单元。
转载请注明原文地址:https://kaotiyun.com/show/Glxp777K
0

最新回复(0)