-3
我有這樣的代碼:如何使用指向struct的指針訪問/修改struct內的變量?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct vector_{
int x;
double y;
double z;
} *vector;
void modi(vector a);
int main() {
vector var;
var->x = 2;
modi(var);
return 0;
}
void modi(vector a){
printf("avant modif %d",a->x);
a->x = 5;
printf("avant modif %d",a->x);
}
我試圖運行它,但我得到一個分段錯誤。
問題很簡單:訪問/修改結構指針變量。
我期待在堆棧溢出,但我得到了我的問題,一個不完整的答案:https://stackoverflow.com/a/1544134
什麼是訪問的正確方法/修改在這種情況下(一個struct
指針變量)?
'矢量VAR =的malloc(的sizeof(矢量));'如果你打算這樣做,這樣你必須分配空間...... – Kevin
也許你並沒有試圖隱藏自己的typedef間接背後你不會迷惑自己? – EOF
@Kevin'vector var = malloc(sizeof(* var));' – BLUEPIXY