Объявления переменной C после заголовка функции в определении
При чтении некоторого исходного кода FreeBSD (см. Строки radix.h 158-173), я нашел объявления переменных, которые следовали «заголовку функции» в определении.
Действительно ли это в ISO C (C99)? когда это должно быть сделано в производственном коде вместо простого объявления переменных внутри «заголовка функции»? Почему это делается здесь?
Я ссылаюсь на функцию, заголовок строки, которая выглядит так: int someFunction(int i, int b) {
- Как сделать точки одним цветом, когда третий столбец равен нулю, а другой цвет - в Gnuplot?
- Имена переменных Java Unicode
- C ++ int с предшествующим 0 изменяет всю ценность
- Каково точное значение IFS = $ '\ n'?
- Можно ли создавать переменные во время выполнения на Java?
- VBA - переменная в диапазоне, внутри формулы
- Как проверить, установлена ли переменная в Bash?
- Определенные пользователем переменные в PostgreSQL
- Установка переменных среды в Rails 3 (Devise + Omniauth)
- Определить имена таблиц и столбцов в качестве аргументов в функции plpgsql?
- Когда переменная Excel VBA должна быть убита или установлена в Nothing?
- Почему пространство в присваивании переменной дает ошибку в Bash?
- Как разместить рекламу в lesscss
Это похоже на стиль K & R (pre-ANSI). Я не думаю, что это действительно C99, но используют ли они C99? Joel
Я думаю, что вы имеете в виду «старомодный» метод ANS ANSI, объявляющий параметры в C. Это выглядело примерно так:
int foo(a, b) int a, int b { /* ... */ }
Это все еще может быть действительным на C99 и будет приниматься компиляторами для соображений обратной совместимости, но это должно считаться устаревшим / архаичным.
Er. Возможно, я не понимаю ваш вопрос, но i
и b
в этом fragmentе являются параметрами функции. Это не какой-то компактный способ объявления переменных внутри функции, например:
int someFunction() { int i, b;
Когда вы вызываете someFunction
, вы передаете ему те аргументы:
someFunction(1, 2); // `i` will be `1` and `b` `2` within `someFunction`