Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Использование глобальных переменных, объявленных вне файла.

Читайте также:
  1. А) с использованием конструктора таблиц
  2. В нем допускается использование смеси из объектов и простых типов (например, числа, символы и др.),
  3. В. Использование экзогенных жиров тканями
  4. ВЕДОМСТВЕННАЯ АТТЕСТАЦИЯ СИСТЕМ УПРАВЛЕНИЯ ТАМОЖЕННЫМИ ОРГАНАМИ НА СООТВЕТСТВИЕ ТРЕБОВАНИЯМ ГОСТ Р ИСО 9001:2008 И ИСПОЛЬЗОВАНИЕ ЕЕ РЕЗУЛЬТАТОВ
  5. Выполните команду ВИД/Использование задач. Появится окно со списком работ и назначенными на них ресурсами. Выполните команду ВИД/Таб­лица/Трудо­затраты.
  6. Глава 13. Использование шпионов
  7. Глава 4. Использование рисунков SmartArt

Ниже приведена простая программа на языке С, состоящая из двух файлов (модулей) - first.с (главный файл) и second.с:

 

// начало первого файла first.с

#include <stdio.h> // подключение библиотеки stdio.h

extern int a, b; // объявление переменных объявленных в

// другом файле (в файле second.с)

void main(void) // основная функция main

{

printf("a = %d b = %d\n", a, b); // вывод значений переменных a,b

}

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

 

int a = 2, b = 5; // объявление переменных a,b

 

Две глобальные переменные а и b типа int описаны вне функции в файле second.с. Следовательно, их имена являются глобальными в файле, т.е. они видимы для загрузчика языка С. Поскольку в файле first.с присутствует описание extern для этих переменных типа int, то компилятор разрешает использовать их в функциях first.с, например в main().

Объявление extern int а,b можно поместить как внутри, так и вне функций (например функции main()). При объявлении вне функции переменные а и b будут видимы во всем модуле first.с. Если оператор extern int a,b помещен внутри функции main(), то переменные будут видимы только внутри этой функции.

Если перед описанием int а=2, b=5 в файле second.c поместить обозначение класса памяти static, то указанные переменные скрываются от загрузчика. Такие переменные известны только в пределах файла, в котором они объявлены. Хотя программа в файле first.с будет успешно оттранслирована (компилятор учтет описание extern), загрузчик не сможет уточнить адреса для внешних ссылок и выдаст соответствующее сообщение об ошибке.

 


 

Св. план 1999, поз. 93

 

Учебное издание

 

 

Авторы: Бахирев Андрей Владимирович,

Живицкая Елена Николаевна,

Комличенко Виталий Николаевич,

Соколов Сергей Александрович,

Синицын Александр Григорьевич.

 

 

МЕТОДИЧЕСКОЕ ПОСОБИЕ

И УЧЕБНЫЕ МАТЕРИАЛЫ

по курсу

«Основы информатики и вычислительной техники»

для студентов экономических специальностей

заочной формы обучения

в 2-х частях

Часть 1

 

 

Редактор Е.Н. Батурчик


Подписано в печать Формат 60х84 1/16.

Бумага Печать офсетная. Усл. печ. л.

Уч.-изд. л. 4,6. Тираж 120 экз. Заказ


Белорусский государственный университет информатики и радиоэлектроники

Отпечатано в БГУИР. Лицензия ЛП №156. 220027, Минск, П. Бровки, 6


Дата добавления: 2015-10-28; просмотров: 98 | Нарушение авторских прав


Читайте в этой же книге: Память компьютера | Язык Си и разработка программ | Элементы программирования | Программа в Си, связь между функциями и передача параметров в функцию |
<== предыдущая страница | следующая страница ==>
Void main (void)| Поиск минимального и максимального элементов массива

mybiblioteka.su - 2015-2024 год. (0.015 сек.)