夜雨&(* 2022-03-09 20:41 采纳率: 88.9%
浏览 19

arr和&arr输出的结果都一样啊

我试了一下发现不加&和加&的结果是一样的,不是必须要把数组的地址给数组指针吗?但为什么我把数组第一个元素的地址给数组指针也可以?这是为什么?

int arr[4] = { 10,20,30,40 };
        int(*temp)[4] = &arr;
        for (int i = 0; i < 4; i++) {
                printf("%d\n", (*temp + i));
        }

int arr[4] = { 10,20,30,40 };
        int(*temp)[4] = arr;
        for (int i = 0; i < 4; i++) {
                printf("%d\n", (*temp + i));
        }

  • 写回答

1条回答 默认 最新

  • 谛凌 2022-03-09 20:53
    关注

    因为数组的地址就是第一个元素的地址

    评论

报告相同问题?

问题事件

  • 创建了问题 3月9日

悬赏问题

  • ¥60 悬赏破解越狱iphone4s中360保险箱密码遗忘
  • ¥20 ARKts悬浮窗和快捷方式问题
  • ¥15 linux中nginx服务器提示not found on accelerator,如何解决?(语言-php|操作系统-linux)
  • ¥15 comparecluster没有办法kegg
  • ¥15 远程访问linux主机超时
  • ¥15 odoo17存货管理优势于中国国内该行业传统ERP或MES的详细解读和举例
  • ¥15 CPU卡指令整合指令数据都在图片上
  • ¥15 odoo17处理受托加工产品
  • ¥15 如何用MATLAB编码图三的积分
  • ¥15 圆孔衍射光强随孔径变化