Я спрашиваю, потому что я часто читал, что лучше поместить все объявления в самые первые строки, которые были бы лучше для производительности.
Я могу заверить вас, что это чепуха. Люди, делающие такие заявления, не имеют ни малейшего представления, как код C переводится в машинный код.
Я был бы очень удивлен, если бы любой из ваших трех примеров давал другой машинный код.
Однако существует особый случай: если бы переменные были объявлены как "глобальные" или статические, то они имели бы статическую продолжительность хранения. И тогда они будут инициализированы до вызова main (). Все глобальные переменные / статика, которые не были явно инициализированы программистом, установлены в ноль. Так что в этом случае ваш пример 1) был бы медленнее:
int x; /* global variable, no explicit init so it will get set to
zero before main() is called */
...
x = 4; // variable gets set a second time, elsewhere, in "runtime"
медленнее, чем
int x = 4; // global variable, gets initialized before main() is called
Разница в производительности между этими двумя, тем не менее, скорее всего всего одна инструкция CPU, поэтому в 99,9% всех приложений это не имеет значения.