c中正常指针和const指针之间的区别

Aru*_*K V 3 c pointers

实际上我不知道普通指针和const指针有什么区别,如果我使用下面的代码,它将正常工作.但是当我改变constint *ptr=#那时它将无法工作.谁能解释普通指针和const指针之间的区别?

 int main(void)
    {
        int num = 20;
     int  *ptr = &num ; // if i change to   `int *const ptr = &var1;` then it shows some error

     *ptr = 20 ;              // Valid 
     ptr ++ ;                 // valid

        return 0;
    }
Run Code Online (Sandbox Code Playgroud)

250*_*501 5

int* const ptr = &num ;
Run Code Online (Sandbox Code Playgroud)

将创建一个指向int的常量指针.它指向的数据可以改变,但它自己的指针不能改变.

你不能改变指针:

ptr++ ;
Run Code Online (Sandbox Code Playgroud)

但是你可以改变数据:

*ptr = 1234 ;
Run Code Online (Sandbox Code Playgroud)