這似乎是一個非常簡單的問題,但我無法弄清楚哪個部分導致了它。基本上,我有隻包含字符串C - 將信息傳遞給一個結構體(特別是一串字符串)
struct command_stream{
char **tokens;
};
typedef struct command_stream *command_stream_t;
command_stream_t test;
陣列再後來就一個結構,我解析某些字符串爲較短的,用字符串的另一個數組結束
char **words = *array of strings*
字包含正確的我想要的信息,我打開並打印出每個元素,以確保我沒有收到錯誤的字符串。所以現在我只需要將單詞指向單詞
test->tokens = words;
但它給了我一個段錯誤。我不知道爲什麼。他們都是指針,所以除非我錯過了一些明顯的...
編輯:作爲一個整體的函數必須返回一個指針,這就是爲什麼它被設置爲這樣,我一直忘記。但我想我已經知道了,如果我只是創建一個新的typedef
typedef struct command_stream command_stream_s;
command_stream_s new_command_stream;
,就回到 & new_command_stream; 這應該是正確的?儘管new_command_stream本身不是指針。
發佈完整的代碼,足以重現問題。 –