開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux, GCC
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
在struct中使用enum已經試過沒問題了
可是如果在struct指標裡用enum,在執行的時候就會core dumped(是記憶體區段錯誤)
程式碼:
#include <stdio.h>
typedef enum
{
MON, TUE, WED, THU, FRI, SAT, SUN
} day;
typedef struct
{
int date;
day dayofweek;
} *mystruct;
int main(int argc, char *argv[])
{
mystruct ms;
ms->date = 17;
printf("%d\n", ms-date); //到這行都OK
ms->dayofweek = MON; //這裡出現問題
printf("%d\n", ms->dayofweek);
return 0;
}
餵入的資料(Input):
預期的正確結果(Expected Output):
17
0
錯誤結果(Wrong Output):
17
core dumped (記憶體區段錯誤)
補充說明(Supplement):
如果我用
typedef struct
{
int date;
day dayofweek;
} mystruct;
mystruct ms;
ms.dayofweek = MON;
printf("%d\n", ms.dayofweek);
是可以正常工作的
只是換成指標就會錯誤......