Я пытаюсь создать поток команд для чтения, но у меня возникают проблемы с компиляцией или ошибками сегментации.Я хочу получить доступ к членам в моем struct command_stream, но при запуске я получу либо «ошибку: запрос на член« stream »в чем-то, не являющемся структурой или объединением», либо ошибку сегментации ».Мой код выглядит следующим образом.
typedef struct command_stream *command_stream_t;
struct command_stream
{
int stream[100];
int test;
};
//get_next_byte is function that returns next byte in stream
//get_next_byte_argument is pointer to FILE
command_stream_t
make_command_stream (int (*get_next_byte) (void *),void *get_next_byte_argument)
{
command_stream_t * ptr = checked_malloc(sizeof(struct command_stream));
int c;
int count = 0;
while((c = get_next_byte(get_next_byte_argument)) != EOF )
{
//(*ptr)->stream[0] = 0;
//(*ptr)->test = 0;
//ptr->test = 0;
//ptr->stream[count] = c;
count++;
break;
}
return 0;
}
/////////////////////
checked_malloc - это функция, которая по сути является malloc,get_next_byte по сути является getc и получает следующий символ в файле.Проблемы исходят от птр.Если я пробую ptr-> test или ptr-> stream [count], я получаю ошибку «запрос на член 'stream' в чем-то, что не является структурой или объединением" ».Если я попробую (* ptr) -> stream [0] или (* ptr) -> test, ошибки компиляции не будет, но я получу ошибку сегментации.Что не так?