Computer >> Máy Tính >  >> Lập trình >> lập trình C

Ý bạn là gì khi trỏ tới một hằng số trong ngôn ngữ C?

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