这似乎是一个非常简单的问题,但我无法弄清楚哪个部分导致了它。基本上,我有只包含字符串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本身不是指针。
发布完整的代码,足以重现问题。 –