extern 声明

原创 2011年01月08日 21:46:00

使用了extern修饰了的变量只能在一个地方定义,其它地方都必须仅仅是声明。

举例,有a.c 和b.c两个文件;

a.c中  extern int n = 1;

那么b.c中引用这个n,只能声明:extern int n; 而不能定义extern int n = 2;

 

同样的,对于数组类型,也只能在一处定义,其余处声明,注意数组的声明方式:

int arr[];即[]表示这是个数组,但不写大小。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C语言中声明和定义的区别——分析extern关键词。

一直很迷惑C语言中的声明和定义的有些实践中的用法,说迷惑实践是因为声明和定义的概念上的区别是很明确的。 定义和声明的区别(主要针对变量): 定义是要为变量分配存储空间,还可以在定义的时候为变量指定...

extern 声明外部变量

声明外部变量 现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是 互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。 创建一个工程,里面含有A.cpp...

C语言易混淆关键词详解-const,static,extern,typedef,声明

const const关键词并不能把一个变量变成一个常量, 在符号前加上const表示这个符号不能被赋值, 即他的值对这个符号来说是只读的, 但并不代表这个值不能用其他方法去改变. 通过下面的例子...

防止头文件被重复包含、extern、变量定义与声明的区别

#include文件的一个不利之处在于一个头文件可能会被多次包含,为了说明这种错误,考虑下面的代码: #include "x.h" #include "x.h" 显然,这里文件x.h被包含了两次...

定义和声明的区别,它们在头文件、源文件中的位置,extern的用法

1. 定义和声明的区别(变量,在被使用前必须被定义或声明)? 声明用于向程序表明变量的类型和名字;定义本身也是声明,当定义变量时声明了它的类型和名字;变量必须且只能被定义一次,但是可以被声明多次...

C语言易混淆关键词详解-const, static, extern, typedef, 声明

Const Const关键词并不能把一个变量变成一个常量, 在符号前加上const表示这个符号不能被赋值, 即他的值对这个符号来说是只读的, 但并不代表这个值不能用其他方法去改变. 通过下面的例子就...

变量声明和定义及extern

在讨论全局变量之前我们先要明白几个基本的概念: 1. 编译单元(模块):     在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LI...

动态库导出声明 : extern "C" __declspec(dllexport) 与 __declspec(dllexport)

最近在做项目,在动态加载动态库后,使用GetProcAddress( HMODULE hModule, LPCWSTR lpProcName)获取导出的函数的地址时,发现不能获得函数地址。 通过检查...
  • aabbme
  • aabbme
  • 2015年08月04日 09:20
  • 254

C++中的extern声明变量详解

http://www.jb51.net/article/62350.htm extern声明变量无外乎如下两种: 1、声明全局变量 2、声明函数 今天我们只谈extern,什么...

变量的声明和定义的关系、extern关键字的使用

变量声明规定了变量的名字和类型,定义还申请存储空间,也可能会为变量赋一初值。 注意: 变量可以声明很多次,但定义只能定义一次,否则编译器将会报错。 在编写复杂程序时,会有许多文件,需要有...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:extern 声明
举报原因:
原因补充:

(最多只允许输入30个字)