首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何正确声明"extern"?

在C/C++编程语言中,"extern"关键字用于声明一个全局变量或函数,表示该变量或函数是在其他文件中定义的。它的正确声明方式如下:

  1. 对于全局变量的声明: extern 数据类型 变量名;

其中,数据类型是变量的类型,变量名是要声明的全局变量的名称。这样声明的全局变量可以在其他文件中使用,而不需要重新定义。

  1. 对于函数的声明: extern 返回类型 函数名(参数列表);

其中,返回类型是函数的返回值类型,函数名是要声明的函数的名称,参数列表是函数的参数类型和参数名称。这样声明的函数可以在其他文件中调用,而不需要重新定义。

"extern"关键字的使用场景:

  • 当需要在多个文件中共享全局变量时,可以在一个文件中定义该全局变量,然后在其他文件中使用"extern"关键字进行声明。
  • 当需要在多个文件中共享函数时,可以在一个文件中定义该函数,然后在其他文件中使用"extern"关键字进行声明。

腾讯云相关产品和产品介绍链接地址:

腾讯云提供了丰富的云计算产品和服务,包括云服务器、云数据库、云存储、人工智能等。以下是一些相关产品和介绍链接地址:

  1. 云服务器(ECS):提供弹性计算能力,满足不同规模和需求的应用场景。 产品介绍链接:https://cloud.tencent.com/product/cvm
  2. 云数据库(CDB):提供高可用、可扩展的数据库服务,支持多种数据库引擎。 产品介绍链接:https://cloud.tencent.com/product/cdb
  3. 云存储(COS):提供安全可靠的对象存储服务,适用于图片、音视频、文档等数据的存储和管理。 产品介绍链接:https://cloud.tencent.com/product/cos
  4. 人工智能(AI):提供丰富的人工智能服务,包括图像识别、语音识别、自然语言处理等。 产品介绍链接:https://cloud.tencent.com/product/ai

请注意,以上链接仅供参考,具体产品和服务详情请参考腾讯云官方网站。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C++extern声明的外部变量 | 使用extern输出

编译时将全局变量分配在静态存储区,有时需要用extern声明全局变量,以扩展全局变量的作用域。 C++文件内声明全局变量  如果外部变量不在文件的开头定义,其有效的作用范围只限于定义处到文件终了。...如果在定义点之前的函数想引用该全局变量,则应该在引用之前用关键字extern,对该变量作外部变量声明,表示该变量是一个将在下面定义的全局变量。...正确的做法是:在任一文件中定义外部变量,而在另一文件中用extern对该变量作外部变量声明。...经典案例:C++实现用extern对外部变量作引用声明。...=10,num2=5;//定义全局变量  int main() //主函数  {   extern int num1,num2;//对全局变量num1,num2做引用声明   cout<<"较大的值是:

2.6K2828
  • extern、定义和声明

    Extern的问题在于不知道这个关键词出现的时候到底是声明还是定义。 谨记:声明可以多次,定义只能一次。     对于变量来说,定义就是声明.    ...当你要引用一个全局变量的时候,你就要声明extern int a;这时候extern不能省略,因为省略了,就变成int a;这是一个定义,不是声明。...(2)函数      函数,函数,对于函数也一样,也是定义和声明,定义的时候用extern,说明这个函数是可以被外部引用的,声明的时候用extern说明这是一个声明。 ...但由于函数的定义和声明是有区别的,定义函数要有函数体,声明函数没有函数体,所以函数定义和声明时都可以将extern省略掉,反正其他文件也是知道这个函数是在其他地方定义的,所以不加extern也行。...,声明函数加不加extern都没关系,所以在头文件中函数可以不用加extern

    1.3K20

    C语言深入理解extern用法 | 变量声明 | static

    一、 extern做变量声明 声明extern关键字的全局变量和函数可以使得它们能够跨文件被访问。...全局函数的声明语句中,关键字extern可以省略,因为全局函数默认是extern类型的。...不能使用extern char* g_str;来声明extern是严格的声明。且extern char* g_str只是声明的一个全局字符指针。 注:声明可以拷贝n次,但是定义只能定义一次。..." } 而在C语言的头文件中,对其外部函数只能指定为extern类型,C语言中不支持extern”C”声明,在.c文件中包含了extern”C”时会出现编译语法错误。...(2)在C中引用C++语言中的函数和变量时,C++的头文件需添加extern”C”,但是在C语言中不能直接引用声明extern”C”的该头文件,应该仅将C文件中将C++中定义的extern”C”函数声明

    1.3K30

    C语言深入理解extern用法 | 变量声明 | static

    一、 extern做变量声明 声明extern关键字的全局变量和函数可以使得它们能够跨文件被访问。...全局函数的声明语句中,关键字extern可以省略,因为全局函数默认是extern类型的。...不能使用extern char* g_str;来声明extern是严格的声明。且extern char* g_str只是声明的一个全局字符指针。 注:声明可以拷贝n次,但是定义只能定义一次。..." } 而在C语言的头文件中,对其外部函数只能指定为extern类型,C语言中不支持extern”C”声明,在.c文件中包含了extern”C”时会出现编译语法错误。...(2)在C中引用C++语言中的函数和变量时,C++的头文件需添加extern”C”,但是在C语言中不能直接引用声明extern”C”的该头文件,应该仅将C文件中将C++中定义的extern”C”函数声明

    1.7K60

    Java-如何声明变量

    Java 如何声明变量 在Java中,声明一个变量需要指定变量的类型和名称,基本语法如下: 数据类型 变量名; 其中,数据类型可以是Java中的任意一种数据类型,如int,float,double等等,...变量名则是你自己指定的一个唯一的名称 如果需要给变量赋初值,则可以在声明变量时进行初始化,基本语法如下: 数据类型 变量名 = 初始值; 这两种声明方法可以放在方法之内,也可以放在class之内,这取决于你的需求...int a; 或者同时声明并初始化变量a: int a = 10; Java中有多种类型的变量,以下是它们的声明方式: 整数型变量 在Java中,整数型变量用于存储整数值。...在Java中,可以使用char数据类型来声明字符型变量。...在Java中,可以使用[]来声明数组型变量 例如: int[] arr = {1, 2, 3, 4, 5}; []可以放在数组名前面或者数据类型后面 例如,声明一个长度为5的整型数组的语法如下: int

    92420

    可怕的extern关键字一、不利之处二、例子三、分析四、正确做法

    实际项目中看到有人用extern关键字来声明外部函数,这是一个很不好的行为。 一、不利之处 如果函数原型改变的话,每个extern声明的地方都要改一遍。 如果有地方没改到呢?...[%d]\n", a); } 文件bad_test.c中调用了func函数,但是func被重新声明成无参数的了 #include extern void func(); int main...这是因为编译是以源文件为单位的,在bad_test.c中func的声明是无参的,调用也是按无参调用的,所以编译器不会告警。...如果把extern声明去掉,编译器好歹还能给个“函数未显式定义”的警告。 链接的时候也没报错?...四、正确做法 建议通过头文件引用的方式来使用外部函数,如果bad_test.c写成下面这样,编译就无法通过,可以有效阻止错误蔓延。

    1.2K20

    如何编写 Typescript 声明文件

    如何编写 Typescript 声明文件 使用TypeScript已经有了一段时间,这的确是一个好东西,虽说在使用的过程中也发现了一些bug,不过都是些小问题,所以整体体验还是很不错的。...string // ^ 出错了,提示`name`必须显式的进行初始化 } function getName (personal: Personal): name // ^ 出错了,提示函数缺失实现 以下为正确的使用方式...arg: Date): number function build(arg: Object): string function build(arg: any): any // 这样在使用的时候才能得到正确的类型提示...所以正确的做法是在class中声明重载,在class中实现,interface中最多只定义一个any,而非三个重载。...namespace的定义,但是目前来看,好像更推荐使用 ES-Modules 版本的 import/export来实现类似的功能,而非自定义的语法,所以就略过了这两个关键字相关的描述 官方文档中有针对如何编写声明文件的模版

    1.9K11

    c语言局部变量、全局变量、静态变量、内部函数、外部函数、声明、定义、extern作用总结

    c语言中分为四种类别:自动的(auto)、静态的(static)、寄存器的(register)、外部的(extern),自动变量存放在动态存储区,静态变量和外部变量存放在静态存储区中,寄存器变量存放在CPU...如果在定义或者声明时没有指定,系统会采取默认方式。...(3)局部变量无声明extern) 2.全局变量与存储类别的关系 (1)所有全局变量都是静态变量,都存在静态存储区。...(2)所有外部变量不加static修饰,都可以使用关键字extern声明(格式为 extern(int可省略类型) a;),可以扩张其作用域从声明处开始,还可以跨源文件声明使用。...(4)外部变量和局部变量都只能定义一次,但外部变量可以声明多次,而局部变量不能有声明。 (5)所谓变量的声明,只是把作用域扩张到声明处以下,仅仅而已,而且只有这一种声明方法。

    7.1K83
    领券