• 欢迎浏览“String me = Creater\忠实的资深Linux玩家;”,请文明浏览,理性发言,有侵犯你的权益请邮件我(creater@vip.qq.com).
  • 把任何的失败都当作一次尝试,不要自卑;把所有的成功都想成是一种幸运,不要自傲。
  •    6年前 (2013-04-10)  系统原理 |   2 条评论  15 
    文章评分 0 次,平均分 0.0

    假设我们定义一个数组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

    第一个得到的是整个数组的大小,第二个得到的是地址的大小。这一点要注意。

     

    除特别注明外,本站所有文章均为String me = "Creater\忠实的资深Linux玩家";原创,转载请注明出处来自http://unix8.net/home.php/686.html

    关于

    发表评论

    暂无评论

    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    扫一扫二维码分享