WikiSort.ru - Программирование

ПОИСК ПО САЙТУ | о проекте

«Неявный int» — сленговое обозначение правила языка программирования Си, согласно которому отсутствие спецификаторов типа в объявлении или имени типа означает тип int. Например:

const i;  /* OK: то же, что const int i; */

Правило неявного int применяется всюду, где требуется присутствие спецификаторов объявления, кроме случая указания квалификаторов типа в деклараторе указателя, поскольку в нём не допускаются спецификаторы типа. Например:

typedef I;  /* OK: то же, что typedef int I; */

Кроме того, к записи типа возвращаемого значения при определении функции правило неявного int применяется даже если все спецификаторы объявления при этом типе опущены. Например:

*f()  /* OK: то же, что int *f() { ... */
{
    return 0;
}

В противном случае, хотя бы один из спецификаторов объявления должен присутствовать. Например:

*f();  /* ОШИБКА: нет спецификаторов объявления и это не определение функции */

Последнее требование имеет важное практическое значение: распространение правила неявного int на все случаи, которые можно было бы трактовать как опущенный набор спецификаторов объявления привело бы к многочисленным синтаксическим неоднозначностям. Например, в таком случае следующую запись для g

int f()
{
    g();
}

можно было бы трактовать и как объявление функции без прототипа:

int f()
{
    int g();
}

и как объявление прототипа функции, принимающей единственный аргумент типа int:

int f()
{
    int g(int);
}

и даже как вызов некоторой функции с таким именем:

int f()
{
    g();  /* вызов функции g */
}

Примечания

    Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

    Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

    Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




    Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

    Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

    2019-2024
    WikiSort.ru - проект по пересортировке и дополнению контента Википедии