[C语言学习笔记二] extern 函数的用法

extern 用来定义一个或多个变量。其后跟数据类型名和初始值。例如:

extern int a =10

它与 int,long long int,double,char的本质区别,在于 extern 可以定义未声明类型的变量。举个例子:

#include 
    int a = 10;
    long long int b = 100;
    double c = 1.1;
    char d = 5;
    /* 以上各函数前均可加入 extern ,其意义不会改变。 */
    extern a = 10;
    extern b;

此处未声明变量 a 的类型,这是 c 语言语法所认可的。而且,在声明变量的同时,同样可以不设定初始值。

但是请注意,这是一种不好的习惯,因为它会降低代码的可读性。因此应尽量避免此用法。

设定初始值不同于声明变量。声明变量时,可以不为其设定初始值。
而设定初始值指定了变量在其值受到改变前的状态。
例子:

extern int a /* 这时没有指定初始值 */
extern int a = 10 /*这时指定 a 的初始值为 10 */

如果没有为变量指定初始值,那么它的初始值将根据数据类型而指定。例如类型为 int 的,初始值为 0 ;类型为 double 的,初始值为 0.00000 ,因为它是一个浮点数。

你可能感兴趣的:([C语言学习笔记二] extern 函数的用法)