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);
}上面的程式導致了一個“初始化元素不是常量”的錯誤。因此,全域性變數和靜態變數只能使用常量進行初始化。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP