15. Объявление переменной, которая служит именем внешнего массива
15. Объявление переменной, которая служит именем внешнего массива
Рассмотрим пример: объявление переменной i, которая служит именем внешнего массива длинных целых чисел, на локальном уровне.
исходный файл file1.c
main()
{…
}
fun1()
{extern long i[];…
}
/* исходный файл file2.c */
long i[MAX] = {0};
fun2()
{…
}
fun3()
{…
}
Объявление переменной i[] как extern в рассмотренном примере делает ее видимой в функции fun1. Определение данной переменной находится в файле file2.c на глобальном уровне и должно быть единственным. При этом объявлений с классом памяти extern может быть много.
Объявление переменной со спецификатором extern дает знать компилятору о том, что память для переменной не нужна, так как это выполнено где-то в другом месте программы.
В случае объявления переменных на глобальном уровне можно применить спецификатор класса памяти static или extern. Кроме того, можно объявлять переменные без указания класса памяти. Классы памяти auto и register для глобального объявления применять нельзя.
Объявление переменных на глобальном уровне представляет собой или определение переменных, или ссылки на определения, которые сделаны в другой части программы. Объявление глобальной переменной, инициализирующее данную переменную (явно или неявно), служит определением переменной. Определение на глобальном уровне может быть задано в нескольких формах.
1. С помощью класса памяти static. Данная переменная может быть инициализирована явно константным выражением либо по умолчанию нулевым значением. То есть объявления static int i = 0 и static int i одинаковы, и в том и в другом случае переменной i будет присвоено значение 0.
2. Переменная может быть объявлена без указания класса памяти, но с явной инициализацией. Подобной переменной по умолчанию присваивается класс памяти static. То есть объявления int i = 1 и static int i = 1 будут одинаковы.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Вход на форум под своим именем
Вход на форум под своим именем Далее заходим на главную страницу форума и видим справа вверху окошко, куда вводим свой логин и пароль (указанный при регистрации). Нажимаем кнопку «Вход».Все!Р.S. Для того чтобы каждый раз при входе на форум не вводить свой логин и пароль,
Блокировка сценария с заданным именем
Блокировка сценария с заданным именем Для того чтобы, пользуясь SRP, запретить выполнение сценариев с определенными именами, нужно создать новое правило для пути (Path Rule), которое позволяет идентифицировать программы по пути к ним. Рассмотрим, например, каким образом можно
delete - Удаление объекта, элемента массива или переменной
delete - Удаление объекта, элемента массива или переменной delete(Оператор)Этот оператор используется для удаления из сценария объекта, свойства объекта, элемента массива или переменных.Синтаксис:delete identifier;Аргументы:Описание:Оператор delete уничтожает объект или переменную, имя
var - Объявление локальной переменной
var - Объявление локальной переменной varИспользуется для объявления локальных переменныхСинтаксис:var variableName1 [= value1] [...,variableNameN [=valueN]];Аргументы:Описание:Создание переменной называется ее объявлением. Объявление - это этап формального создания переменной. Когда впервые
3.1.1. Вход в систему под другим именем
3.1.1. Вход в систему под другим именем Команда login используется для входа в linux-систему. Для входа под другим именем нужно ввести login [имя] [параметры]Если имя не указано, программа запросит его. Команда login позволяет использовать параметры, указанные в табл. 3.2. Для регистрации
14. Объявление переменной на внутреннем уровне с классом памяти static
14. Объявление переменной на внутреннем уровне с классом памяти static В качестве примера рассмотрим объявление переменной i на внутреннем уровне с классом памяти static.исходный файл filel.сmain(){}fun1(){static int i = 0; исходный файл file2.c fun2(){static int i = 0; }fun3(){static int i = 0; }В этом примере
Все определяется именем
Все определяется именем Вызов VBA-программы осуществляется по имени.Извините за то, что приходится начинать с технических подробностей, но другого выхода я не вижу. При вызове VBA-программы вы на самом деле запускаете одну специальную процедуру VBA. Ваша программа может
Объявление простой переменной
Объявление простой переменной Синтаксис:<спецификация типа> <идентификатор> [,<идентификатор>…];Объявление простой переменной определяет имя переменной и ее тип. Имя переменной задается <идентификатором>. <Спецификация типа> задает тип переменной. Тип
Объявление переменной перечислимого типа
Объявление переменной перечислимого типа Синтаксис:enum [<тег>]{<список-перечисления>} <описатель>[,<описатель>…];enum <тег> <идентификатор> [<идентификатор>…];Объявление переменной перечислимого типа задает имя переменной и определяет список именованных
Объявление массива
Объявление массива Синтаксис:[<спецификация типа]> <описатель> [<константное выражение>];[<спецификация типа]> <описатель> [];Квадратные скобки, следующие за описателем, являются элементом языка Си, а не признаком необязательности синтаксической
Объявление переменной на внешнем уровне
Объявление переменной на внешнем уровне Объявления переменной на внешнем уровне используют спецификации класса памяти static и extern или вообще опускают их. Спецификации класса памяти auto и register не допускаются на внешнем уровне.Объявления переменных на внешнем уровне—это
Объявление переменной на внутреннем уровне
Объявление переменной на внутреннем уровне Любая из четырех спецификаций класса памяти может быть использована для объявления переменной на внутреннем уровне. Если спецификация класса памяти опущена в объявлении переменной на внутреннем уровне, то подразумевается
Запуск программы под чужим именем
Запуск программы под чужим именем С помощью реестра можно выполнить интересный трюк, который позволяет запускать программы под чужим именем. Например, в окне Запуск программы (Пуск ? Выполнить) вводим Pinball (известная многим игра), но после нажатия кнопки OK открывается
Владеете ли вы своим именем?
Владеете ли вы своим именем? Рэм Аврахами [Ram Avrahami] считал, что он владеет собственным именем, но на самом деле его именем владела частная компания с 500 служащими и стоимостью 310 миллионов долларов. Аврахами обратился в суд, чтобы остановить практику компании по продаже его
Которая все стерпит
Которая все стерпит Автор: Юрий РевичПоявление интернета и других электронных средств коммуникаций часто сравнивают с еще одной информационной революцией - изобретением книгопечатания в XV веке. Действительно, сходство налицо - и та и другая революции привели к