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

คุณหมายถึงอะไรโดยตัวชี้ไปยังค่าคงที่ในภาษา C?


ค่าที่อยู่ของตัวชี้เป็นค่าคงที่ ซึ่งหมายความว่าเราไม่สามารถเปลี่ยนค่าของที่อยู่ที่ชี้โดยตัวชี้ได้

ตัวชี้คงที่ถูกประกาศดังนี้ −

Data_Type const* Pointer_Name;

ตัวอย่างเช่น int const *p// ตัวชี้ไปยังจำนวนเต็ม const

ตัวอย่าง

ต่อไปนี้เป็นโปรแกรม C เพื่อแสดงตัวชี้เป็นค่าคงที่ -

#include<stdio.h>
int main(void){
   int var1 = 100;
   // pointer to constant integer
   const int* ptr = &var1;
   //try to modify the value of pointed address
   *ptr = 10;
   printf("%d\n", *ptr);
   return 0;
}

ผลลัพธ์

เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −

Display error, trying to change the value of pointer to constant integer

ตัวอย่าง

โปรแกรม C ต่อไปนี้แสดงให้เห็นว่าจะเกิดอะไรขึ้นหากเราลบ const -

#include<stdio.h>
int main(void){
   int var1 = 100;
   // removed the pointer to constant integer
   int* ptr = &var1;
   //try to modify the value of pointed address
   *ptr = 10;
   printf("%d\n", *ptr);
   return 0;
}

ผลลัพธ์

เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −

10