zoukankan      html  css  js  c++  java
  • 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文件中.而且只能有一个这个变量的定义.

  • 相关阅读:
    c语言排序算法
    冒泡 选择排序
    冒泡排序算法
    Pandas数据预处理
    Mongodb的安装和配置
    Mysql练习题
    5 根据过去的行为能否预测当下
    Sklearn逻辑回归
    4 如何通过各种广告组合获取更多的用户
    Sklearn多元线性回归
  • 原文地址:https://www.cnblogs.com/lujin49/p/4782765.html
Copyright © 2011-2022 走看看