以下两种情况有什么不同:

char * const 

const char *

推荐答案

不同之处在于,const char *是指向const char的指针,而char * const是指向char的常量指针.

首先,所指向的值不能更改,但指针可以更改.第二,所指向的值可以改变,但指针不能改变(类似于引用).

还有一个

const char * const

它是指向常量字符的常量指针(因此关于它的任何内容都不能更改).

注:

以下两种形式是等效的:

const char *

char const *

The exact reason for this is described in the C++ st和ard, but it's important to note 和 avoid the confusion. I know several coding st和ards that prefer:

char const

结束

const char

(带或不带指针)以便const元素的位置与指针const的位置相同.

C++相关问答推荐

自定义malloc实现上奇怪的操作系统依赖行为

是否有任何情况(特定类型/值),类型双关在所有符合标准的C实现中产生相同的行为?

在C中使用动态内存分配找到最小的负数

增加getaddrinfo返回的IP地址数量

是否所有C编译器在将浮点数转换为整型数时都会隐式删除小数?

Ruby C Api处理异常

在我的代码中,我需要在哪里编写输出函数?

如何使用指向 struct 数组的指针并访问数组中特定索引处的 struct

在for循环中指向数组开头之前

在C中访问数组中的特定值

我在反转双向链表时遇到问题

为什么电路板被循环删除?

链表删除 node 错误

在C程序中使用Beaglebone Black UART的问题

';malloc():损坏的顶部大小';分配超过20万整数后

如何使用 VLA 语法使用 const 指针声明函数

在 C 中传递参数时出现整数溢出

如何转义包含指令中的字符?

UEFI 应用程序中的计时器回调仅在 AMI BIOS 中挂起

全局变量 y0 与 mathlib 冲突,无法编译最小的 C 代码