C语言 若有以下定义 int x[20],*pt=x;则对x数组元素的正确应用若有以下定义 int x[20],*pt=x;则对x数组元素的正确应用是BA)*&x[20] B)*(x+3) C)*(pt+20) D)pt+3 都错在哪了?一个一个解释下
问题描述:
C语言 若有以下定义 int x[20],*pt=x;则对x数组元素的正确应用
若有以下定义 int x[20],*pt=x;则对x数组元素的正确应用是B
A)*&x[20] B)*(x+3) C)*(pt+20) D)pt+3
都错在哪了?一个一个解释下
答
int x[20]里面有二十个元素为x[0]道x[19],a ,里面的&x[20]这首先就错了,没有x[20]这个元素.越界了!b,x为数组x[20]的首地址,首地址向后移动3个位置,在取值,正确!c,pt为指向x[20]的首地址的int型的指针,+20就指向了x[2...