[問題] 宣告一個struct,執行後一直segm fault

看板C_and_CPP (C/C++)作者 (Effort)時間13年前 (2013/04/30 00:09), 編輯推噓2(202)
留言4則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Linux 問題(Question): 不好意思,我的觀念有點差, 若問到的問題很笨,希望別介意... 我宣告2個struct,如下: struct node { int data; struct node *next; }; struct stack { struct node *top; }; 在main function內,宣告一個新的,程式如下: struct stack *s; s->top = NULL; 想請問各位,為什麼complile會過, 但是一直會出現Segmentation fault呢? 是因為沒有回收s嗎?free(s) 還是什麼原因呢? 不好意思請教各位一下,謝謝喔。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.250.46.49

04/30 00:11, , 1F
正好相反 是因為沒有給s記憶體空間
04/30 00:11, 1F

04/30 00:37, , 2F
少了s = (struct stack *)malloc(sizeof(struct stack));
04/30 00:37, 2F

04/30 19:45, , 3F
置底13~
04/30 19:45, 3F

05/04 04:19, , 4F
int *p; *p=3; //GG!
05/04 04:19, 4F
文章代碼(AID): #1HVfj9m8 (C_and_CPP)
文章代碼(AID): #1HVfj9m8 (C_and_CPP)