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文件中.而且只能有一个这个变量的定义.

  • 相关阅读:
    鲁迅散文——随感录三十五
    跳一跳201803-1
    鲁迅散文——狗的驳诘
    鲁迅散文——立论
    小中大201903-1
    鲁迅散文——题辞
    小明上学201812-1
    买菜201809-2
    Linux常用命令-2
    LaTeX——基本介绍及字体设置
  • 原文地址:https://www.cnblogs.com/lujin49/p/4782765.html
Copyright © 2011-2022 走看看