吴贤炬 发表于 2022-3-9 20:35:51

arr和&arr都一样啊

我试了一下发现不加&和加&的结果是一样的,但我看小甲鱼不加&的话就会报错,这是为什么?

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

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

YSW9527 发表于 2022-3-9 20:44:36

数组名本身就是一个地址值,顾名思义,不加地址符也是地址,加了也是地址,可以不加地址符,小甲鱼可能用的编译器比较老,语法规定要这样写,新版的编译器保留了旧的写法,也加进了新的写法
{:10_254:}

4goodworld 发表于 2022-3-10 14:02:43

因为你这是一维数组,如果你二维数组可能就效果不一样了
页: [1]
查看完整版本: arr和&arr都一样啊