【发布时间】:2020-01-17 20:31:50
【问题描述】:
我正在尝试创建一个指针数组,在我的情况下它可以指向三个元素。我想在运行时获取元素并想要访问每个元素,但我不能。这是源代码。
#include<stdio.h>
main(){
int i;
float *coefficient[3];
for(i=0;i<=2;i++){
scanf("%f",coefficient[i]);
}
for(i=0;i<=2;i++){
printf("%f\n",*coefficient[i]);
}
}
【问题讨论】:
-
coefficient本质上已经是一个指针。尝试声明float coefficient[3];而不是float *coefficient[3] -
@RobertHarvey:他们还需要删除
printf中的*,并将scanf更改为scanf("%f", &coefficient[i]);以匹配。我怀疑他们声明了一个指针数组仅仅是因为他们不明白你应该如何将参数传递给scanf(通常使用&来获取现有堆栈变量的地址)。
标签: c arrays pointers memory-management