若有定义int+a+5+p+a
答:看答案这个int类型是双字节的,p+2的意思就是指向a[2] 的地址,&a[0] = 100 , &a[1] = 102 &a[2] = 104 答案选C 如果是四个字节的int型 &a[0] = 100 , &a[1] = 104 &a[2] = 108 //这个不符合答案选项
答:数组的名字a,是表示数组首地址的地址常量。其值就是&a[0];p=a;那么p的值也是&a[0];p和a都表示地址,所以*就是取地址对应的值。(a+2)就是首地址值往后+2的地址,也就是&a[2],那么*(a+2)就是a[2]的值2。同理*(P+2)也是a[2]的值2。p[3]是不对的,p[3]不是地址是值...
答:等于10
答:在数组中,数组名表示首地址常量。a等同于&a[0]。所以p=a。就是p指向a首地址。p=&a是错的,a已经是地址里。可以写p=&a[0]。
答:p = a[0], *a ,*(a+0) , p[0] 都是 数组的第一个元素1 (p+2),*(a+2),a[2],p[2],都是 数组的第三个元素 3 a 和 p 的差别就是 a指针是常量 无法做改变指针值,p是变量
答:不对。若有定义:int a[5],则a数组中首元素地址可以表示为a,a[0],*(a+0),*a,&a[0]。数组及数组元素的地址表示为:a是二维数组名,也是二维数组0行的首地址,等于1000。a[0]是第一个一维数组的数组名和首地址,因此也为1000。(a+0)或*a是与a[0]等效的,它表示一维数组a[0]0...
答:B a是指针常量,常量不能赋值!!!
答:先上结论:对于int a[5],*p;p=a; 或p=&a[0]是正确的 p=&a严格来说是错误的 首先要搞清楚a与&a的区别:a表示数组首元素的首地址,即元素a[0]的地址;&a表示整个数组的地址。二者的值是相同的,但意义并不一样。正如成都市政府与四川省政府的地址都在成都,但二者表示的含义不同。如下...
答:答案:B p2是一个指针变量,后面必须将一个地址赋给它,而a是一个普通的整型变量,故赋值有误 A)p1是一个指针变量,在使用时,指针变量前面加上星号*,代表该指针变量所指向的内容。故此选项是将p1和p2所指的内容相加,再赋给a,即a=10 C)指针可以赋值给指针,即执行完p2=p,之后,p2不再...
答:先上结论:对于int a[5],*p;p=a; 或p=&a[0]是正确的 p=&a严格来说是错误的 首先要搞清楚a与&a的区别:a表示数组首元素的首地址,即元素a[0]的地址;&a表示整个数组的地址。二者的值是相同的,但意义并不一样。正如成都市政府与四川省政府的地址都在成都,但二者表示的含义不同。如下...
网友评论:
丁斌18477694163:
若有定义语句 int a[5], *p=a;,则对A数组元素地址的正确引用是【 】 -
43116惠殷
: DA的值超出了a的范围B是取a[1]C是将a的首地址加1,没有实际意义
丁斌18477694163:
若有定义int a[5],*p; 让p指向a[2]元素的表达式是 -
43116惠殷
: int a[5],*p; p=&a[2];//方法一 p=a+2; //方法二 p=a; //方法三 p++; p++; 调用: *p就是a[2]的值
丁斌18477694163:
若有定义int a[5],*p=a;,则对a数组元素的不正确引用是: -
43116惠殷
: A. p=&a错,数组名直接表示了数组首元素的存储地址,不需要再取地址
丁斌18477694163:
若有定义int a[5][5],*p;,则操作p=*a;是合法操作 对吗 -
43116惠殷
: 可以,*a不就是数组的首地址么 你编译一下,应该不会报错.同时输出p和*a结果应该都是一个地址