extern int shmid;
时间: 2023-12-04 08:02:19 浏览: 30
这段代码中的 `extern int shmid` 是一个声明,它告诉编译器,变量 `shmid` 是在其他文件中定义的全局变量,这里只是对它进行了声明。这样在编译时,编译器就不会报错说找不到 `shmid` 的定义了。通常在多个源文件中使用同一个全局变量时,需要在其中一个文件中进行定义,然后在其他文件中使用 `extern` 进行声明即可。
相关问题
extern int
`extern int`是一种变量或函数声明,它表示该变量或函数在其他文件中定义。在当前文件中使用`extern int`声明的变量或函数,编译器会在链接时在其他文件中查找其定义。这种声明通常用于在多个文件中共享变量或函数。
例如,引用中的`extern int p(void);`声明了一个函数`p`,该函数在另一个文件中定义。在`main`函数中调用`p`函数时,编译器会在链接时查找`p`函数的定义。
另外,`extern int i;`声明了一个整型变量`i`,该变量在另一个文件中定义。在引用中,`int i = 3;`定义了变量`i`的值为3。在引用中,`i`变量被使用,编译器会在链接时查找`i`变量的定义。
extern int
extern int是一个C语言的关键字,用于声明一个全局变量或函数。它表示该变量或函数在其他文件中定义,当前文件中仅做声明。
例如,如果在一个源文件中声明了一个全局变量或函数,并在另一个源文件中定义它,那么在声明的地方使用extern关键字可以告诉编译器该变量或函数是在其他地方定义的。
举个例子,假设我们有两个源文件:main.c和helper.c。在helper.c中定义了一个全局变量x,并在main.c中使用它,我们可以在main.c中使用extern来声明这个变量:
// helper.c
int x = 5;
// main.c
extern int x;
// 在这里可以使用变量x
这样编译器就知道变量x是在其他文件中定义的,并且可以正确地使用它。