即時學習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