Вот код, который исправляет ошибки, о которых вы спрашиваете, и некоторые другие.Без MCVE трудно заставить его работать полностью.У вас есть некоторые изменения дизайна, чтобы функция работала с любыми переменными, не только глобальными.Создание вложенной функции не является хорошим способом сделать локальную переменную доступной в функции.Получите код, работающий с глобальной переменной, затем перейдите к ссылочным переменным call-by.++
указывает на более сложный план, которому вы следуете.Сделайте это позже.
get example1_st[3]; // changed to the obviously intended name,
// should fix 'declaration is incompatible with previous "memcmp"'
// made this a global, to keep it accessable from function,
// make the code work, then refactor to have the function work on
// variables via call-by reference parmeters
// avoid nested function definition
get* example(void)
{
uint_8 l_LoopCounter_u8=0; // init index variable
example1_st.a[l_LoopCounter_u8] = data; // removed ++, which is unnclear/risky here
example1_st.b[l_LoopCounter_u8] = data;
example1_st.c[l_LoopCounter_u8] = data;
return &example1_st ; // no need to cast to void, type is correct
}
int main(void) //changed to a correct main function head,
// should fix "expected a type specifier"
{
// note that your main function was functionally empty anyway...
}
Примечание:
Нет, я не проверял этот код.Было бы трудно из-за отсутствия MCVE от OP.
Это предназначено для решения проблем, а не для доставки рабочего кода для неизвестных целей.