Я новичок в C и у меня есть вопрос об инициализации структуры. Я использую структуру, которую я не создал, и поэтому я не знаю, что внутри нее. Поэтому я его не инициализировал, а компилятор пожаловался. Поэтому я установил его равным NULL, но у меня возникла ошибка сегментации. Затем я посмотрел, как установить все в 0, и он сказал, чтобы установить его равным {0}. Это также дало мне ошибку сегментации. Так как я знаю, что функция, которую я вызываю, правильная, и что массив, который я передаю, имеет правильный размер, я почти уверен, что это как-то связано с тем, как я инициализирую структуру. Инициализация
struct aes_ctx *aes_struct = {0}
Заголовок для функции
void aes_setkey(aes_ctx *aes, const void *key, u_int len);
То, как я это называю, это
aes_setkey(aes_struct, aes, CCA_STRENGTH);
где aes - это буфер размера 16, CCA_STRENGTH - это константа int, равная 16.
Чтобы подвести итог проблемы, я думаю, что способ, которым я инициализирую структуру, приводит к тому, что она впоследствии станет непригодной для использования. Любая помощь, которая может быть оказана мне в этом, была бы очень признательна!
Спасибо!