char*const和const char*有什么区别?

char*const和const char*有什么区别?

在以下几个方面有什么区别:

char * const

const char *


犯罪嫌疑人X
浏览 2138回答 3
3回答

喵喵时光机

区别在于const char *是指向const char,同时char * const是指向char.首先,所指向的值不能更改,但指针可以更改。第二,所指向的值可以更改,但指针不能(类似于引用)。还有一个const char * const它是指向常量字符的常量指针(因此有关它的任何内容都不能更改)。注:以下两种形式是等价的:const char *和char const *这种情况的确切原因在C+标准中进行了描述,但注意并避免混淆是很重要的。我知道一些更喜欢的编码标准:char const过关const char(带或不带指针)以便将const元素与指针相同。const.

泛舟湖上清波郎朗

为了避免混乱,总是附加康斯特预选赛。int       *      mutable_pointer_to_mutable_int;int const *      mutable_pointer_to_constant_int;int        *const constant_pointer_to_mutable_int;int const *const constant_pointer_to_constant_int;

慕桂英3389331

const总是修改它之前的东西(在它的左边),除非它是类型声明中的第一件事,在那里它修改它后面的东西(在它的右边)。所以这两者是一样的:int const *i1;const int *i2;它们定义指向const int..你可以改变i1和i2点,但您不能更改它们所指向的值。这是:int *const i3 = (int*) 0x12345678;定义const指向整数的指针并将其初始化为指向内存位置12345678。您可以更改int值位于地址12345678,但不能更改以下地址i3指向。
打开App,查看更多内容
随时随地看视频慕课网APP