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\n", &ci);
printf(" p = %p\n", p);
*p = 2;
printf("*p = %d\n", *p);
printf("ci = %d\n", ci);