数组的引用的意义
int a[100];
printf("sizeof(a)=%d",sizeof(a));
printf("sizeof(&a)=%d",sizeof(&a));
请问一下以上代码的打印结果是什么?
&a的实际意义是什么?在什么情况下会用到?
[解决办法]
c里面没有引用
[解决办法]
sizeof(a)=400
sizeof(&a)=400
[解决办法]
sizeof(&a)=400是错误的!
楼主在用VC6吧!
[解决办法]
[解决办法]
[解决办法]
你可以看一下这个帖子。http://hi.chinaunix.net/?328728/viewspace-31459
[解决办法]
pascal
400/4
CBC 400/400
TC2.0 200/200
[解决办法]
codeblock中的结果,是400和4,和编译器有关,再说了,第2个探讨感觉上没多大的意义,研究的过于狭窄了
[解决办法]
main()
{
int a[100];
printf('a=%d\n',a);
printf('&a=%d\n',&a);
printf('sizeof(a)=%d\n',sizeof(a));
printf('sizeof(&a)=%d\n',sizeof(&a));
}
vc 6.0 output:
a=1244656
&a=1244656
sizeof(a)=400
sizeof(&a)=400
所以在VC里面&a也是指向数组a的首地址,也就是&a也是指向数组a的指针,而不是指向数组a首地址的指针!
[解决办法]
不是和编译器有关!
sizeof(&a)=400是VC6的BUG了
VC6 BUG很多,当然不可否认VC6非常成功,现在也还有很多公司在使用