为什么要extern
在以下代码中使用关键字:
头文件.h
float kFloat; // some say I should write 'extern float kFloat;', but why?
文件.c
#include <stdio.h>
#include "Header.h"
float kFloat = 11.0f;
主程序
#include <stdio.h>
#include "Header.h"
int main(int argc, const char * argv[])
{
printf("The global var is %.1f\n", kFloat);
return 0;
}
此代码有效。全局变量 kFloat 默认为外部链接和静态生命周期。
输出是:
全局变量为 11.0
我不明白在哪种情况下会出现问题,谁能给我一个崩溃的例子?