C 语言中全局变量和静态变量的初始化
在 C 语言中,全局变量和静态变量都必须使用常量值进行初始化。这是因为这些变量必须在执行开始之前已知这些变量的值。如果未提供全局变量和静态变量的常量值,则会生成错误。
以下是一个演示全局变量和静态变量初始化的程序。
示例
#include <stdio.h> int a = 5; static int b = 10; int main() { printf("The value of global variable a : %d", a); printf("
The 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); }
上面的程序导致了一个“初始化元素不是常量”的错误。因此,全局变量和静态变量只能使用常量进行初始化。
广告