Giá trị của địa chỉ con trỏ là không đổi có nghĩa là chúng ta không thể thay đổi giá trị của địa chỉ được trỏ bởi con trỏ.
Một con trỏ hằng được khai báo như sau -
Data_Type const* Pointer_Name;
Ví dụ:int const * p // con trỏ tới số nguyên const
Ví dụ
Sau đây là chương trình C để minh họa một con trỏ tới một hằng số -
#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; }
Đầu ra
Khi chương trình trên được thực thi, nó tạo ra kết quả sau -
Display error, trying to change the value of pointer to constant integer
Ví dụ
Chương trình sau đây trình bày điều gì sẽ xảy ra nếu chúng ta loại bỏ 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; }
Đầu ra
Khi chương trình trên được thực thi, nó tạo ra kết quả sau -
10