ใน 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