Pointers and Constants

Pointers and Constants

char * const q = "abc"; // q is const
*q = 'c';   // OK
q++;        //ERROR
const char *p = "ABCD";
// (*p) is a const char
*p = 'b';   // ERROR! (*p) is the const

在 C++ 是下面这样的。

int i; const int ci = 3;
int * ip; ip = &i; ip = &ci; // Error
const int * cip; cip = &i; cip = &ci;

在 C 语言,下面的代码会有 Warning。ci 的值一直都是 0,但是 *p 的值可以修改。

const int ci = 0;
int *p = &ci;
printf("&ci = %p
", &ci);
printf("  p = %p
", p);
*p = 2;
printf("*p = %d
", *p);
printf("ci = %d
", ci);
原文地址:https://www.cnblogs.com/fnmain/p/12251632.html