编程extern是什么意思
-
extern 是一个关键字,用于在编程语言中声明一个外部变量或函数。它的作用是向编译器表明该变量或函数的定义在其他源文件中。在C语言和C++中经常使用extern来声明外部变量或函数。
当一个变量或函数被声明为 extern时,意味着它的实际定义可以在其他源文件中找到。这可以让程序通过多个源文件来共享变量或函数。通常,当多个源文件需要引用同一个全局变量或函数时,我们可以在一个源文件中使用extern关键字来声明,而在其他源文件中进行定义。这样做有助于提高代码的可读性和可维护性。
在使用extern声明变量时,只需要写上变量的类型和名称,并不需要进行初始化。例如:
extern int num;这样声明了一个类型为int的外部变量num。在其他源文件中,可以进行如下定义:
int num = 10;在使用extern声明函数时,只需要写上函数的返回类型、函数名称以及参数列表。例如:
extern int add(int a, int b);这样声明了一个返回类型为int,名称为add的外部函数。在其他源文件中,可以进行如下定义:
int add(int a, int b) {
return a + b;
}需要注意的是,变量或函数的实际定义只能在一个源文件中进行,通常将变量的定义放在一个源文件的顶部或者函数的定义放在所有函数的上方,这样可以提供给其他的源文件进行引用。
总而言之,extern关键字在编程中用于声明使用其他源文件中定义的变量或函数,使得程序可以共享这些变量或函数,增加了代码的灵活性和可重用性。
1年前 -
在编程中,
extern是一个关键字,用于声明一个全局变量或函数。它告诉编译器这个变量或函数并不是在当前文件中定义的,而是在其他文件中定义的。以下是关于
extern的一些重要信息:-
extern关键字通常用于在一个文件中声明一个在其他文件中定义的全局变量。比如,如果在文件A中定义了一个全局变量var,而在文件B中想要使用这个变量,可以在文件B中使用extern int var;来声明这个变量。这样,编译器在编译文件B时会知道var是一个全局变量,但它的定义是在文件A中的。 -
extern关键字还可以用于声明在其他文件中定义的函数。和全局变量一样,如果在文件A中定义了一个函数func,而在文件B中想要调用这个函数,可以在文件B中使用extern int func();来声明这个函数。这样,编译器在编译文件B时会知道func是一个函数,但它的定义是在文件A中的。 -
extern关键字的作用范围仅限于当前文件中。也就是说,extern关键字只是用来告诉编译器这个变量或函数是在其他文件中定义的,但它并不会分配内存空间或者初始化这个变量。 -
使用
extern关键字声明变量或函数时,常见的做法是将这些声明放在头文件中,然后在需要使用的文件中包含这个头文件。这样可以确保多个文件之间的变量或函数的声明保持一致。
// header.h extern int var; extern int func(); // fileA.c int var = 5; int func() { return var * 2; } // fileB.c #include "header.h" void printFuncResult() { int result = func(); printf("Result: %d", result); }- 有时候,我们可能需要在一个文件中使用
extern关键字声明一个全局变量或函数,但并不知道这个变量或函数在哪个文件中定义。在这种情况下,可以通过链接器将这个变量或函数与定义它的文件链接起来。
总之,
extern关键字在编程中用于声明其他文件中定义的全局变量和函数。它使得程序可以访问其他文件中定义的变量和函数,从而实现模块化和代码重用。1年前 -
-
在编程中,extern是一个关键字,用于修饰变量或函数的声明。它用来表示该变量或函数是在其他文件中定义的,并且在当前文件中进行引用。
当使用extern修饰变量时,它告诉编译器该变量是在其他文件中定义的,并且在当前文件中进行使用。这样做的目的是为了允许在多个文件中共享变量而不会引发重复定义的错误。
当使用extern修饰函数时,它告诉编译器该函数是在其他文件中定义的,并且在当前文件中进行使用。这样做的目的是为了允许在多个文件中调用该函数。
在C和C++中,当一个变量或函数被声明为extern时,编译器会在编译阶段将其标记为外部链接。这意味着编译器会在链接阶段查找变量或函数的实际定义,并将引用指向正确的位置。如果找不到实际定义,则会在链接阶段报错。
下面是一个使用extern声明变量和函数的示例:
示例1:使用extern声明变量
// 文件1:file1.c
int count; // 定义一个全局变量count// 文件2:file2.c
extern int count; // 声明一个全局变量count,表示该变量是在其他文件中定义的示例2:使用extern声明函数
// 文件1:file1.c
void display(); // 声明一个函数display// 文件2:file2.c
extern void display(); // 声明一个函数display,表示该函数是在其他文件中定义的需要注意的是,extern只是一个用于修饰声明的关键字,它本身并不分配内存空间或定义变量或函数。它的作用仅仅是告诉编译器该变量或函数是在其他文件中定义的,并在当前文件中进行引用。
1年前