у меня есть следующая функция
uint8_t func(){
uint8_t key[16] = {0};
// some operations
return key;
}
я вызываю эту функцию в основной функции
int main(void){
uint8_t rcKey[16] = func();
for (int i = 0; i < 16; i++)
{
printf("%x ", rcKey[i]);
}
}
что я здесь неправильно делаю? Я получаю неверную ошибку инициализатора
Массив не может быть инициализирован напрямую через вызов функции. Вы можете инициализировать отдельные элементы только как часть списка инициализаторов.
Вместо этого вы можете передать массив функции для установки соответствующих значений.
void func(uint8_t key[]){
// some operations
}
int main(void){
uint8_t rcKey[16]
func(rcKey);
for (int i = 0; i < 16; i++)
{
printf("%x ", rcKey[i]);
}
}
key
- это неuint8_t
, это массив из 16 элементовuint8_t
Andrew Henle