美文网首页
extern关键字的使用

extern关键字的使用

作者: 绿风烟 | 来源:发表于2019-12-15 20:14 被阅读0次

在C++中,如何定义一个跨源文件的全局可用的变量,方式就是通过extern关键字。但是extern只是执行一种声明,声明这个变量可以分开编译,也就是如果有全局变量,如果要在超过一个源文件中使用,首先要做的是对这个变量进行extern declaration(注意是声明)。随后可以对这个变量声明初始化。

使用规则

使用时,extern变量声明和变量定义最好各自独立对待,而不要混合使用。

这是一个很容易混淆的地方,变量声明和变量定义有明确的区分,虽然变量定义可以理解为在变量声明的基础上进行,但是变量定义意味着变量声明和存储及值初始化同时进行,是一个整体,不能分开。

也就是说变量定义不能先使用单纯声明方式,然后对变量名称直接进行赋值操作。这会导致编译错误,因为变量没有寻址内存,必须对变量进行定义。

extern int j; //加了extern关键字意味着只声明不定义,这个变量声明不能直接赋值,比如直接以j=0使用。
int j; //这是变量定义,虽然没有明确初始化。就是说在声明的同时,也进行了内存寻址和值的初始化,虽然这是隐含动作。

但是extern关键字也支持合并方式直接做变量定义,也就是既有分开编译的声明支持,也有在本处文件中的变量定义。

extern int j = 0;

声明和定义的区别:

一个声明只是确定变量的名称和类型。而一个定义则是在声明的基础上进一步关联了存储和初始值

相关文章

  • extern "C"的小结 来自《程序员的自

    extern "C"的小结 来自《程序员的自我修养》 C++为了与C兼容,C++可以使用关键字extern "C"...

  • 【C语言学习】extern关键字的作用是什么?

    extern关键字可以用来声明变量和函数作为外部变量或者函数供其它文件使用。 extern声明变量 示例程序: t...

  • C++语言基础

    extern关键字作用 1.extern置于函数或者变量前,声明这个函数或变量,可以在本地模块使用,但定义在其它模...

  • extern关键字的使用

    在C++中,如何定义一个跨源文件的全局可用的变量,方式就是通过extern关键字。但是extern只是执行一种声明...

  • static、const、extern的用法和区别

    在开发中我们经常会使用到static、const、extern等关键字,在此总结几个关键字的作用和区别。 一、co...

  • iOS 学习笔记, 代码片段

    26, extern关键字 extern关键字主要是声明这个变量已经在其他文件中声明过了(声明全局变量或者函数),...

  • iOS extern关键字

    extern关键字 原来经常看到extern关键字,但是一直搞不懂具体的用法,以及跟static的区别。今天就要搞...

  • iOS中的static const extern关键字

    在iOS开发中会经常使用到static const extern3个关键字, 一直对这3个关键字很模糊, 这里总结...

  • iOS const static extern

    前言 本篇主要介绍在开发中怎么使用const,static,extern3个关键字 一、Const 简介:之前常用...

  • 5_变量属性

    关键词:C语言的变量属性、auto关键字、 register关键字、 static关键字、extern关键字 1....

网友评论

      本文标题:extern关键字的使用

      本文链接:https://www.haomeiwen.com/subject/bislnctx.html