C语言省略extern的缺陷
2015-06-03 16:58
267 查看
在一个文件中(比如a.c)定义一个全局变量int a = 10;
然后在另一个代码文件(比如main.c)中需要使用变量a,可以写
int a;
单独看main.c文件时就会出现二义性,一个含义是当其他文件中没有定义过全局变量a,则这里定义一个变量a。另一个含义是当其他文件中包含声明全局变量a,则这里声明一个变量a。
所以当a.c中定义了全局变量a时,在main.c中最好使用:
extern int a;
然后在另一个代码文件(比如main.c)中需要使用变量a,可以写
int a;
单独看main.c文件时就会出现二义性,一个含义是当其他文件中没有定义过全局变量a,则这里定义一个变量a。另一个含义是当其他文件中包含声明全局变量a,则这里声明一个变量a。
所以当a.c中定义了全局变量a时,在main.c中最好使用:
extern int a;
相关文章推荐
- C语言省略extern的缺陷
- 第14周 《C++语言基础》程序阅读——标准输入输出对象及文本文件 (3)(2)
- 24位真彩色图高斯模糊(VC++)
- 第14周 《C++语言基础》程序阅读——标准输入输出对象及文本文件 (3)(1)
- C++ primer学习笔记(1)Vector
- C语言实现简单线程池
- C++ .inl文件
- [leetcode] Maximal Square
- c++单例模式
- C++ string 用法详解(内部实现)
- 第14周 《C++语言基础》程序阅读——标准输入输出对象及文本文件 (2)
- 8位灰度图两次一维卷积高斯模糊(VC++)
- C语言学习 - 字节对齐
- C++ 单例模式,考虑线程安全和性能的几种方式
- C++ Swap( )对vector进行内存的释放
- C语言 全排列
- 8位灰度图二维卷积高斯模糊(VC++)
- C++中const、volatile、mutable的用法
- 第14周 《C++语言基础》程序阅读——标准输入输出对象及文本文件 (1)
- C++ 之STL priority_queue