Что такое Extern в C?

Что такое Extern в C Программирование и разработка

Термин «extern» использовался для определения глобальных переменных в языке C. Слово «внешний» означает, что оно сокращено от слова «внешний», что означает «снаружи». Следовательно, эти переменные доступны во всем коде C. Эти переменные всегда инициализируются и определяются вне основного метода. Это руководство предназначено для пользователей, которые хотят изучить работу переменной extern с помощью языка C. Итак, вперед.

Пример 1:

После запуска терминала по «Ctrl + Alt + T» вам необходимо создать C-файл. Команда «touch» широко используется для создания любого файла. Итак, мы создали файл «test.c» с инструкцией «touch», как показано ниже.

$ touch test.c

Откройте файл, чтобы добавить код C, используя инструкцию «nano». Слово «нано» используется для обозначения редактора GNU, используемого для обновления и редактирования файлов.

$ nano test.c

Внутри файла мы написали код, показанный на снимке. Включен файл заголовка потока ввода-вывода. После этого объявите внешнюю переменную «z». Мы не присвоили никакого значения переменной «z». В этом коде нет функции или основного метода. Оператор печати использовался для отображения значения внешней переменной «z».

Включен файл заголовка потока ввода-вывода

Сохраните этот файл кода с помощью «Ctrl + S» и вернитесь в терминал с помощью «Ctrl + X». Компиляция этого файла C «test.c» была выполнена компилятором «gcc», поддерживаемым системой Ubuntu 20.04 Linux. Ошибка компиляции указывает на то, что внешняя переменная должна быть определена с некоторым значением.

$ gcc test.c

Ошибка компиляции указывает на то, что внешняя переменная должна

Пример 2:

Давайте снова откроем тот же файл, чтобы немного обновить его. На этот раз мы будем использовать в нашем коде «основной» метод. Мы объявили переменную «z» вне основного метода.

Мы объявили переменную «z» вне основного

Компиляция файла «test.c» вызывает исключение, что переменная «z» не определена в основном методе. Это потому, что переменной «z» не было присвоено значение; следовательно, нет выделения памяти.

$ gcc test.c

Пожалуйста, откройте файл еще раз и обновите его, как показано на снимке. Мы объявили внешнюю переменную «z» вне основного метода, а затем изменили ее значение на «13» в основном методе. Оператор печати использовался для отображения значения.

Мы объявили внешнюю переменную «z» вне основного метода

После компиляции файла «test.c» мы получили ту же предыдущую ошибку и еще одну ошибку. Мы не присвоили значение внешней переменной «z»; следовательно, для «z» не выделена память. Кроме того, мы хотели изменить значение переменной «z» на «13», пока у нее еще нет выделенной памяти для сохранения значения.

$ gcc test.c

Пример 3:

Давайте еще раз немного обновим файл. На этот раз мы объявили и определили внешнюю переменную «z» вне основного метода со значением «13». В основном методе для печати и отображения значения внешней переменной «z» использовался оператор печати.

Как видно из выходных данных, компиляция файла «test.c» прошла успешно.

$ gcc test.c

При успешном выполнении файла отображается сообщение об успешном выполнении и значение переменной «z». Это потому, что переменная «z» была определена и объявлена ​​одновременно.

$ ./a.out

Поскольку значение по умолчанию для внешней переменной всегда равно 0, вы можете использовать это для ее определения. Определив его как 0, вы можете легко изменить его значение любым методом, как показано ниже.

Определив его как 0, вы можете легко изменить его значение любым методом

Компиляция будет успешной.

$ gcc test.c

Оператор печати также будет работать правильно после этого обновления.

$ ./a.out

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

Вы также можете присвоить значение переменной вне функции, а затем определить

Компиляция и исполнение показаны на изображении. В выходных данных было продемонстрировано внешнее значение.

$ gcc test.c

$ ./a.out

Заключение

Эта статья содержит ключевые слова extern на языке C, используя несколько простых и легких примеров. Реализация содержит объявление внешней переменной внутри и вне основного метода и поможет вам в лучшем случае.

Оцените статью
bestprogrammer.ru
Добавить комментарий