我在网上遇到了很多例子,main.c中有extern int x,主要功能在哪里。 extern我知道的唯一用途是在定义它之后,在另一个文件中做出声明,并在另一个文件中使用它。 像: A.H:extern int x; 交流转换器:int x = 5; 的main.c: #include "a.h" // and start using x 第一种情况下似乎是多余的给我。 那么, 在任何其他文件中
我是新来的extern的概念。今天在工作中,我遇到了大量在头文件中声明的extern函数; foo.h.在一些文件夹中,我找到了一个foo.c文件,其中包含了所述函数的定义,但它不包含#include foo.h。当我回到家时,我决定玩弄外部存储类的例子。在读完“C书”后,我想到了这一点。 这是我不期望工作。但它的确如此。 的main.c #include <stdio.h>
int data
我跑一起编译为以下代码:gcc A.c B.c -o combined 程序A: #include<stdio.h>
int a=1;
int b;
int main()
{
extern int a,b;
fun();
printf("%d %d\n",a,b);
}
方案B: int a;
int b=2;
int fun()
{
printf("%d %d\n",
现在我正在学习存储类here。他似乎也解释了自动存储类和寄存器存储类的相同情况。他在两者之间唯一的区别在于寄存器存储类存储在CPU寄存器中。这些存储类之间有什么区别吗?寄存器存储类的任何用途?在某些C编译器中,默认情况下是Register关键字? register int x = 5;
auto int y = 3;