即时学习c编程。 我想定义一个全局结构数组。所以我会有一个指向该数组的指针,该数组的每个成员都是复数的结构。 我的目标是能够通过指针(* vars)访问这个数组,并且能够在主函数中更改/读取其成员。定义全局指针结构数组
我面临这个问题的麻烦,我不知道如何以及在哪里定义每件事情。 我想这下代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
typedef struct complext
{
double real;
double img;
} complex;
complex* vars;
int main()
{
int i;
vars = malloc(6 * sizeof(vars));
for (i = 0; i < 6;)
vars[i]->real = 0;
}
即时得到当我尝试存取权限瓦尔[I]错误。会员‘真正的’IM东西 ”的请求不是一个结构或联合。 谢谢!
您应该对'malloc'的返回值进行类型转换。因此:'vars =(var *)malloc(6 * sizeof(* vars));'。另外,你应该把最后一行改为'vars [i] .real = 0;'。 –
不,在没有必要时不要施放。 对不起,我的评论是在回答湿婆的。 – ncarrier
试过,但仍然得到相同的错误。 – Yakalolo