#include <stdio.h>
typedef struct test{
int app;
}test;
int main()
{
int fi;
FILE* fp;
test* banned;
banned->app=2;
fi=chdir("/home");
printf("%d", fi);
return 0;
}
这是一个更大的计划的一部分。我需要能够从读入文件导航到目录,并将信息放入结构中。但是,无论何时该程序编译它都会出现故障。在gcc编译
上运行gdb#0 0x08048421 in main ()
这是编译器的问题,还是代码中缺少启用此功能的内容?
注意:这已经解决了我是一个完整的白痴,并试图从我刚刚在我头脑中的一个帽子拉出一个兔子...也就是说我没有把我的引用绑定到一个实际值,所以编译器扔了一个适合。解决方案是创建一个真正的结构&#34;然后让引用指针指向通过reference =&amp; normalpointer感谢帮助
尽管id喜欢在没有引用的情况下使用struct,但我需要将它传递给不同的函数。但是提到的解决方案比我正在做的更好
答案 0 :(得分:2)
您正在写下未初始化的指针,因为您已将banned
定义为指向类型为test
的结构的指针,而不是类型为test
的实例。将test* banned
更改为test banned
。然后,您可以使用.
而不是->
来访问banned
的成员,例如banned.app=2
。