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

จะแก้ไขตัวแปร const ใน C ได้อย่างไร?


ใน C หรือ C++ เราสามารถใช้ตัวแปรคงที่ได้ ค่าตัวแปรคงที่ไม่สามารถเปลี่ยนแปลงได้หลังจากการเริ่มต้น ในส่วนนี้เราจะมาดูวิธีการเปลี่ยนค่าของตัวแปรคงที่บางตัว

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

ตัวอย่าง

#include <stdio.h>
main() {
   const int x = 10; //define constant int
   printf("x = %d\n", x);
   x = 15; //trying to update constant value
   printf("x = %d\n", x);
}

ผลลัพธ์

[Error] assignment of read-only variable 'x'

นี่จึงทำให้เกิดข้อผิดพลาด ตอนนี้เราจะมาดูกันว่าเราจะเปลี่ยนค่าของ x ได้อย่างไร (ซึ่งเป็นตัวแปรคงที่)

ในการเปลี่ยนค่าของ x เราสามารถใช้พอยน์เตอร์ได้ ตัวชี้ตัวหนึ่งจะชี้ตัว x ตอนนี้ใช้ตัวชี้หากเราอัปเดต มันจะไม่สร้างข้อผิดพลาดใดๆ

ตัวอย่าง

#include <stdio.h>
main() {
   const int x = 10; //define constant int
   int *ptr;
   printf("x = %d\n", x);
   ptr = &x; //ptr points the variable x
   *ptr = 15; //Updating through pointer
   printf("x = %d\n", x);
}

ผลลัพธ์

x = 10
x = 15