gpt4 book ai didi

arrays - 使用 scanf() 时的指针数组

转载 作者:行者123 更新时间:2023-12-01 23:46:46 28 4
gpt4 key购买 nike

在我的代码中,我使用了这样的指针数组。

arr = (int*)malloc(N * sizeof(int));

for (i = 0; i < N; i++)
scanf("%d", (arr + i));

因为指针算术指向地址。

但我想知道只写 (arr+i) 不带 * 或 & 是否正确。

什么是对的?

请帮帮我。

最佳答案

表达式 arr + i 的类型为 int * 并且等价于表达式 &arr[i] (甚至等价于表达式&i[arr] :)).

所以你可以这样写

scanf( "%d", &arr[i] );

scanf( "%d", arr + i );

关于arrays - 使用 scanf() 时的指针数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64045730/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com