Почему разумно использовать язык для неявных деклараций функций и беспринципных переменных? Я получаю, что C старый, но позволяющий пропускать объявления и по умолчанию int()
(или int
в случае переменных) для меня не кажется таким уж разумным, даже тогда.
Итак, почему он был первоначально представлен? Было ли это когда-нибудь действительно полезно? Используется ли это (все еще)?
Примечание. Я понимаю, что современные компиляторы дают вам предупреждения (в зависимости от того, какие флаги вы передаете им), и вы можете подавить эту функцию. Это не вопрос!
Пример:
int main() {
static bar = 7; // defaults to "int bar"
return foo(bar); // defaults to a "int foo()"
}
int foo(int i) {
return i;
}