Что означает ключевое слово extern?

Что означает ключевое слово extern? Я видел это перед объявлением функции, например

extern void DoFoo ...
+52
02 мая '10 в 15:37
источник поделиться
3 ответа

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

+39
02 мая '10 в 15:41
источник

Ключевое слово extern объявляет переменную или функцию и указывает, что она имеет внешнюю привязку (ее имя видно из файлов, отличных от тех, в которых оно определено). При изменении переменной extern указывает, что переменная имеет статическую продолжительность (она выделяется, когда программа начинается и освобождается, когда программа заканчивается). Переменная или функция могут быть определены в другом исходном файле или позже в том же файле. Объявления переменных и функций в области файлов по умолчанию являются внешними.

Вы можете найти более полное описание здесь.

+39
02 мая '10 в 15:38
источник

Для начинающих,

Изначально я был смущен, узнав, что " ключевое слово extern объявляет переменную или функцию и указывает, что она имеет внешнюю привязку" от @Romain Hippeau.

Теперь я понял, что мы сможем делиться нашими переменными с другими классами с помощью ключевого слова extern.

Например: Notification.h

введите описание изображения здесь

Notification.m

введите описание изображения здесь

Без ключевого слова extern Для константы уведомлений будет создана следующая ошибка. введите описание изображения здесь

+2
06 сент. '17 в 15:06
источник

Посмотрите другие вопросы по меткам или Задайте вопрос