C:变量的声明与定义

  • 声明变量不需要建立存储空间,如:extern int a;
  • 定义变量需要建立存储空间,如:int b;
#include <stdio.h>

int main()
{
    //extern 关键字只做声明,不能做任何定义,后面还会学习,这里先了解
    //声明一个变量a,a在这里没有建立存储空间
    extern int a;
    a = 10; //err, 没有空间,就不可以赋值

    int b = 10; //定义一个变量b,b的类型为int,b赋值为10

    return 0;
}

从广义的角度来讲声明中包含着定义,即定义是声明的一个特例,所以并非所有的声明都是定义:

  • int b 它既是声明,同时又是定义
  • 对于 extern b来讲它只是声明不是定义

一般的情况下,把建立存储空间的声明称之为“定义”,而把不需要建立存储空间的声明称之为“声明”。

猜你喜欢

转载自www.cnblogs.com/wbyixx/p/12239282.html