• C++ #include .h extern 的相关关系及说明


    函数和变量都有声明和定义两个写法。声明的目的是告诉别的代码这个变量的名称,而定义比声明多了一个功能,除了告知名称以外,还会为这个变量分配内存。
    对于函数来说,加不加extern都没有关系,因为有函数体一定是定义,加extern也会被忽略,而没有函数体的就是声明,

    int add(int a, int b);

         等价于 extern int add(int a, int b);

    如果是变量的话
    int a; // 定义了一个变量a
    extern int a; // 声明了一个变量a
    变量可以有任意个声明,但是只能有一个定义,全局变量定义在多个文件中,只能有一个文件中的不加extern,其余的都必须加extern表示声明。

    说明:在.h文件中,一般用于声明一些变量.不是定义,所有的定义及实现都是在.c或.cpp文件中.

    所以,要特别注意 

    定义全局变量的时候,优其是全局变量的时候,是要特别注意的:

    全局变量的声明一般写在 .h文件中,加上extern,因为不加就是定义变量了,所以不对.这样凡是#include 这个.h文件的 文件都可以访问这个全局变量.  但是这个变量的定义一定在.c或.cpp文件中.而且只能有一个这个变量的定义.

  • 相关阅读:
    解决sql2008附加不了2005的数据库文件的问题
    方阵
    台阶问题
    螺旋矩阵
    兔子问题
    九乘九乘法口诀
    选猴王
    拿鸡蛋问题
    软工个人作业
    小学四则运算法则训练
  • 原文地址:https://www.cnblogs.com/lujin49/p/4782765.html
Copyright © 2020-2023  润新知