-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