При трансляции строчного литерала, компилятор генерирует метку для ссылки к этому массиву.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Bill 26 апреля 2004 г. 18:15
В ответ на: (+) отправлено 0men 26 апреля 2004 г. 15:45

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


char String[] = "string"; // Глобально объявленный массив

func("string"); // Строчный литерал, видимый только в данном файле
// и только в момент вызова функции func


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

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru