将double *添加到double变量

时间:2016-06-16 13:22:10

标签: c pointers struct double

我目前正在开发一个程序,将您的姓名,地址,学校标记等作为输入,并且必须计算f.e的平均分数。主题APHM。

有人可以解释为什么使用指针将值添加到变量中会不起作用吗?

提前致谢!

double avgINF=0, avgAPHM=0, ...;

struct adresse{
            char vorname[50];
            char nachname[50];
            char strasse[50];
            char hausnr[50];
            char tuer[10];
            char ort[50];
            char plz[10];
            double noteAPHM[1];
            double noteINF[1];
        } adressen[41];

avgINF += adressen[i-1].noteINF;

错误:二进制表达式的操作数无效(double *)

1 个答案:

答案 0 :(得分:1)

欢迎光临本站!如果noteINF仅应包含一个值,则应为double noteINF;而不是double noteINF[1];。对于单个值,您不需要数组([1]后缀)。

至于您的错误消息,noteINF[1]是一个数组。在上面的代码的上下文中,数组的名称表现为指向数组的第一个元素的指针。因此noteINF表现为double *(指向double的指针),noteINF[0]表示double(数组的第一个元素)。网上有很多关于C数组和指针的教程,因为几乎每个人都会在某些时候绊倒它们。祝你好运!