Можно ли поместить объявления переменных во внешнюю функцию? После прочтения от Wikipedia что:Помещение объявлений переменных в отдельную функцию в C
встроенная функция - это функция, от которой запросили выполнить компилятор для выполнения встроенного расширения. Другими словами, программист запросил, чтобы компилятор вставлял весь кусок функции в каждое место, вызываемое функцией, а не генерировал код для вызова функции в одном месте, где он определен.
Я предположил, что следующее может работать. Это не не займет много времени для компилятора, чтобы хлопнуть мои пальцы :(
inline void declaration(){
int a;
}
int main(){
declaration();
a=2;
return 0;
}
Ключевое слово в этой статье в Википедии ** запрошено **. 'inline' не требует * компилятора делать то, что вы просите, это всего лишь предложение. Таким образом, встроенные функции должны иметь не-встроенную семантику. –
Стоит отметить, что в отношении 'inline' gcc реализует несколько разных версий встроенного расширения, в зависимости от того, запрашиваете ли вы семантику C99 или семантику gnu89 и т. Д. Это своего рода беспорядок. – torek