#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;
}
這是一個較大的程序的一部分。我需要能夠從一個讀入文件導航到一個目錄,並將這些信息放入一個結構體中。然而,每當這個程序編譯它seg故障。在gcc上編譯運行gdbSegfault與箭頭運算符在C運行chdir然後打印
#0 0x08048421 in main()
這是編譯器的問題,還是代碼中缺少某些東西來啓用它?
注意:這已經解決了我是一個完全的白癡,並試圖從帽子里拉出一個拉博特,我只是在我頭腦中進行了簡單的說明......否則我知道我沒有將我的參考與實際值相關聯,因此編譯器投擲一個合適的。該解決方案是建立一個「真正的結構」,然後通過參考具有參考指針指向該= & normalpointer感謝您的幫助
也不亞於ID愛用的結構沒有參考,我需要這種傳遞到不同的功能。但是,提到解決方案比什麼IM做
「它賽格故障」 - 哎呀,有什麼驚喜,'banned'具有明確的價值和所有。 –
禁止未初始化。改爲禁止測試; banned.app = 2;' – BLUEPIXY
你還沒有分配任何被禁止的空間。 – cup