Ключевое слово extern в языке Си
1) Ключевое слово extern говорит что объявление переменной, следующей за ним, сделано в другом файле (например исходном файле \*.с) и нужно использовать ее.
extern int size; // Целочисленная переменная size объявлена в другом файле (месте)
2) Нельзя присваивать значение extern переменной при объявлении
extern int size = 10; // Ошибка!
3) Объявление переменной или функции с заданным именем в проекте может быть только одно (например int size;) или будет ошибка "multiple definition of size"
4) Объявленных переменных или функций как extern (extern int size) может быть много (хоть в каждом файле)
5) Похоже что линковщик сам разбирается где объявлена переменная и связи файлов между собой делать не обязательно(например через подключенные заголовочные файлы)
file1.c
int size = 34; // Объявление переменной
float get_PI(){ // Объявление функции
return 3.14f;
}
main.c (файл может быть любой, просто функцию get_PI() можно вызывать только из другой функции а тут уже main() есть)
#include <stdio.h> // prinf()
int main(){
extern int size; // Переменная size определена в другом файле
extern float get_PI(); // // Функция get_PI() определена в другом файле
printf("size = %d, pi = %f\n", size, get_PI()); // size = 34, pi = 3.140000 Использование extern переменной и функции
}
2023-03-08
Понравилась страница?
Добавить в закладки
Или поделиться!
Связанные темы
Ключевое слово extern в языке Си Инкапсуляция в языке Си Макросы в языке Си Достоинства и недостатки языка Си