Рассмотрим следующее объявление функции:
int abmeld(char *strsend)
который называется так
abmeld(str);
где str - это глобальная переменная, объявленная и инициализируемая в начале файла программы (после включения) следующим образом:
char str[300] = "";
Теперь я уже знаю, что это ненужный код (вы можете получить доступ и модифицировать массив char из любой функции, не передавая его в любом случае), но действительно ли это в противном случае проблематично?
Имеются ли последствия (например, проблемы с жесткой ошибкой или поведение undefined), которые могут произойти в результате передачи переменной с областью с глобальным охватом в функцию?