这篇文章讲一下C语言中external variablefunction

external是相对于internal而言的。internal variable就是定义在函数中的 变量external variable则是定义在函数外的变量

相较于internal variableexternal variable有着更长的生命周期。 因为internal variable是定义在函数内部的变量,所以它会在程序进入函数时 创建,离开函数时消失。然而,external variable则是永久的(permanent),所以它可以 在不同函数之间保持自己的数值。这就意味着它可以被多个函数引用。 所以像函数的argumentsreturn value一样,external variable可以 用于不同函数之间的信息交流

如:

int a;    /* define an external variable */

void func1()
{
    a = 9;
}

int main(void)
{
    int b;    /* define an internal variable */
    printf("a = %d\n", a);  /* print "a = 9" */
    
    return 0;
}

对于函数而言,C语言规定所有的函数必须是external的,因为C语言不允许在 一个函数内定义其他函数

C语言中variablefunctioninternalexternal的关系如下表所示:

internal external
variable
function

以上。