作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在下面有一个程序......我有一个turbo c编译器所以int
是2个字节..
#include<stdio.h>
main()
{
int a[3][2]={
{1,3},
{2,0},
{3,4}
};
printf("%d",(a+1)); //increments 2 bytes
printf("%d",(&a[0]+1)); // increments 4 bytes
printf("%d",(a[2]));
return 0;
}
a+1
有什么区别和
&a[0]+1
?
最佳答案
它们是等价的表达式。a + 1
和 &a[0] + 1
值相同并且它们的类型都是 int (*)[2]
.
请注意,您没有正确打印指针值:使用 p
转换说明符并将参数强制转换为 (void *)
打印指针的值:
printf("%p\n", (void *) (a + 1));
printf("%p\n", (void *) (&a[0] + 1));
printf("%p\n", (void *) (a[2]));
关于c - 在这个程序中 &a[0] 和 a 之间的区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11793239/
我是一名优秀的程序员,十分优秀!