菜鸟笔记
提升您的技术认知

extern关键字-ag真人游戏

1. 基本含义:声明外部对象

声明对象是一个外部对象(变量或函数),标识其定义在别的文件中。会被多个文件使用的对象通常用extern声明于头文件中。

用法eg.

extern int var;

2. extern “c”:链接指示

声明对象是一个外部c语言的对象,告诉编译器在编译该对象时按照指定的c语言编译方式进行编译

用法:
单语句链接指示eg.

extern "c" int strcmp(const char*, const char*);

复合语句链接指示eg.

extern "c"{
    int strcmp(const char*, const char*);
    char *strcat(char*, const char*);
}

3. extern和static比较

static表示静态的全局对象,分配内存的时候被存储在静态区,而非堆栈区。

extern用来表示文件内的全局对象在其它文件出现,static用来表示文件内的全局对象仅本文件可见,两者用法刚好相反。(static在修饰类成员时,还有一个用法表示对象为类所有)

网站地图