数组a和&a区别
Posted 拉普拉斯妖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组a和&a区别相关的知识,希望对你有一定的参考价值。
假设我们定义一个数组char a[16]; 那么a与&a分别代表什么呢?它们完全一样吗?
a其实代表的是数组中首元素的地址,即a[0]的地址,&a代表的是整个数组的起始地址。我们做个测试就可以很容易知道。
我们分别测试a a+1 &a &a+1这四个值,它们分别为:
a | 0x0012fcc8 |
a+1 | 0x0012fcc9 |
&a | 0x0012fcc8 |
&a+1 | 0x0012fcd8 |
a和&a的值虽然完全一样,但是他们的含义是不同的。
我们再用sizeof 测试一下他们两个,看看是否相同:
sizeof a | 16 |
sizeof &a | 4 |
第一个得到的是整个数组的大小,第二个得到的是地址的大小。这一点要注意。
转自:http://www.cnblogs.com/wangshuo/archive/2011/07/23/2114658.html
以上是关于数组a和&a区别的主要内容,如果未能解决你的问题,请参考以下文章