使用scanf()时的c指针数组



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

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 );

相关内容

  • 没有找到相关文章

最新更新