c语言中,&a+1和&(a+1)的区别是什么
18个回答
推荐于2017-09-19
展开全部
a是指针?是的话,&(a+1)就是a指针指向的地方+1(类型)的位置;若是指向的是数组的话,&a+1就是增加整一个数组的地址了。比如int b[8],*a=b,&a+1就是增加4*8=32个字节了。
追问
谢谢!!!
展开全部
&a+1是a的地址加上1,&(a+1)是(a+1)的地址
&是地址运算符和引用运算符
&是地址运算符和引用运算符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
语句中,b = *a+1 -- 指针a 指向的数值加1,
*a 是数值, b 等于 那个数值 加 1。
或 把a看成数组元素 b = a[0] + 1;
*(a+1) -- 指针 (a+1) 指向的数值
b = *(a+1) -- 可以看成数组元素 b = a[1];
*a 是数值, b 等于 那个数值 加 1。
或 把a看成数组元素 b = a[0] + 1;
*(a+1) -- 指针 (a+1) 指向的数值
b = *(a+1) -- 可以看成数组元素 b = a[1];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呃,,,楼上的各位都没有答到本质上 从本质上讲,“a”是一个指针常量,而'a'则是一个数值。也就是说,在编译器看来,“a”的值是一个地址(比如:0x84f39ea0),而'a'的值则是a的ASCII码(即97)。楼主用printf打印这两个值看看就知道了 另外,当“”里的字符串有多个字符时,它指向字符串的第一个字符。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
&a+1 :a的下一个位置的指针
&(a+1): 错误
&(a+1): 错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询