Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

การเริ่มต้นของตัวแปรโกลบอลและสแตติกใน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);
}

โปรแกรมข้างต้นทำให้เกิดข้อผิดพลาด "องค์ประกอบเริ่มต้นไม่คงที่" ดังนั้น ตัวแปรโกลบอลและสแตติกควรเริ่มต้นด้วยค่าคงที่เท่านั้น