int main(int myvalue){
struct newType *myvars = myvalue;
return 0;
}
myvars является локальной переменной, а не глобальной
но
extern struct newType *myvars;
говорит, что gloval var myvars существует и т. Д.
Поскольку это ложно, и не существует определенного глобального var myvars , пока он используется в otherfunc () , ссылка не находит его и говорит, что он не определен
Вы можете поместить определение myvars за пределами main как глобальную переменную, но можете инициализировать его внутри main
struct newType *myvars;
int main(int myvalue){
myvars = ...; // myvalue is an int, to do myvars = myvalue has no sense
return 0;
}
Дополнительное замечание: возможно, вы допустили ошибку в аргументах, которые получает функция main , и это не так, как вы ожидаете