有什么区别:
char * const
and
const char *
有什么区别:
char * const
and
const char *
当前回答
我想指出,使用int const *(或const int *)不是关于指向const int变量的指针,而是这个变量对于这个特定的指针是const的。
例如:
int var = 10;
int const * _p = &var;
上面的代码可以很好地编译。_p指向一个const变量,尽管var本身不是常量。
其他回答
Char * const和const Char *?
指向一个常数值
Const char * p;// value不能更改
指向值的常量指针
Char * const p;//地址不能更改
指向常量值的常量指针
Const char * Const p;//两者都不能改变。
第一个是语法错误。也许你指的是两者的区别
const char * mychar
and
char * const mychar
在这种情况下,第一个指针是指向不能更改的数据的指针,第二个指针将始终指向相同的地址。
Const char*是一个指向常量字符的指针 Char * const是一个指向字符的常量指针 Const char* Const是一个指向常量字符的常量指针
两个规则
如果const在char和*之间,它将影响左边的那个。 如果const不在char和*之间,它将影响最近的一个。
e.g.
Char const *。这是一个指向常量char的指针。 Char * const。这是一个指向char类型的常量指针。
const * char是无效的C代码,没有意义。也许你想问const char *和char const *之间的区别,或者可能是const char *和char * const之间的区别?
参见:
什么是const指针(相对于指向const对象的指针)? C中的Const c++中const声明的区别 c++的const问题 为什么我可以改变一个const char*变量的值?