定义如下一维数组: inta[5],*p=a; 则下面描述中,错误的是( )。

admin2010-03-29  17

问题 定义如下一维数组:    inta[5],*p=a;    则下面描述中,错误的是(    )。

选项 A、表达式p=p+1是合法的
B、表达式a=a+1是合法的
C、表达式p-a是合法的
D、表达式a+2是合法的

答案2

解析 本题考核指针与数组的关系。
   对于选项A,由于在定义时指针p指向数组a[0],那么表达式“p=p+1”就是让指针p指向数组中的元素a[1],所以是合法的。
   对于选项C,数组名a代表该数组的首地址,指针p中存的也是地址,所以它们之间可以进行加减运算。
   对于选项D,数组名a代表该数组的首地址,那么表达式“a+2”代表的是数组元素a[2]的地址。
   对于选项B,由于数组名代表该数组的首地址,并且只能引用该地址而不能进行修改,所以是不合法的。
转载请注明原文地址:https://kaotiyun.com/show/LXjp777K
0

最新回复(0)