青秋. 2022-11-02 11:31 采纳率: 100%
浏览 17
已结题

&数组名a,是整个数组地址,而数组名a是首元素地址。两者不同体现在哪里?可否举个例子?

![img](https://img-mid.csdnimg.cn/release/static/i

img


mage/mid/ask/091238953766166.jpg "#left")
&数组名,这个是整个数组地址。数组名是首元素地址。书上说不能加&,但是我加了也可以,虽然结果都一样,但是对两个进行加一后发现又会不一样

  • 写回答

2条回答 默认 最新

  • liranke 2022-11-02 13:04
    关注
    1. &a是整个数组,如果加1,就是偏移整个数组地址空间;a是元素首地址,如果加1,只偏移一个元素的空间。
    2. 在多维数组中,就会体现的淋漓尽致。
    3. 参考如下代码和运行:
     
    #include <stdio.h>
    
    int main()
    {
    int a[] = {3,4};
    printf("a=%p\n",a);  //打印a地址
    printf("&a=%p\n",&a);  //打印&a地址
    
    long b = a+1;
    printf("b=%p\n",b);
    
    long c = (&a)+1;
    printf("c=%p\n",c);
    
    return 0;
    }
    
    

    运行结果:

    a=0x7ffee51ea8c0
    &a=0x7ffee51ea8c0
    b=0x7ffee51ea8c4 //b只偏移一个元素地址空间
    c=0x7ffee51ea8c8 //c偏移了整个数组地址空间

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月18日
  • 已采纳回答 11月10日
  • 修改了问题 11月2日
  • 创建了问题 11月2日

悬赏问题

  • ¥15 c++ gmssl sm2验签demo
  • ¥15 关于模的完全剩余系(关键词-数学方法)
  • ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助
  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?