在C中初始化全局变量和静态变量
在C语言中,全局变量和静态变量都必须使用常量值进行初始化。这是因为在执行开始之前必须知道这些变量的值。如果未为全局变量和静态变量提供常量值,则会生成错误。
演示全局和静态变量初始化的程序如下。
示例
#include <stdio.h> int a = 5; static int b = 10; int main() { printf("The value of global variable a : %d", a); printf("\nThe value of global static variable b : %d", b); return 0; }
输出结果
上面程序的输出如下。
The value of global variable a : 5 The value of global static variable b : 10
现在,让我们了解以上程序。
全局变量a的值为5,静态变量b的值为10。因此,此程序可以按要求工作。
如果不使用常量来初始化全局变量和静态变量,则将导致错误。演示此的程序如下。
#include <stdio.h> int func() { return 25; } int main() { static int a = func(); printf("%d ", a); }
上面的程序导致错误“初始化元素不恒定”。因此,全局变量和静态变量仅应使用常量初始化。