я часто пользуюсь таким приемом, чтобы сужать область видимости. Только в отличие от С++, в котором можно определять переменную где попало, в С это нужно делать только в начале блока, например так: ... while (FLAG) { int i; for (i = 0; i < 8; i++) { FLAG = GetFlag(i); ... } }