c - C中各种const声明的区别

标签 c programming-languages

<分区>

Possible Duplicate: What is the difference between const int*, const int * const, and int const *?

以下有什么区别?

char const *p;
const char  *p;
char *const p;

有没有我可以重新学习 C 和 C++ 的好网站?好像我忘了它,工作面试让我很难受......

最佳答案

前两个是一样的。

诀窍是,倒着读....

所以第一个是:

backwards: p * const char
read:      p is a pointer to a const char
meaning:   you can change p to point a at something else, but you can't
           change what it points at

最后一个是:

backwards: p const * char
read:      p is a const pointer to a char
meaning:   p is a pointer which you can't change what it points at, but
           you can change the thing it points to.

关于c - C中各种const声明的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2900467/

相关文章:

c - C 中的 sprintf 和 unsigned int 数组

c - 这个链表程序中出现段错误的原因是什么?

programming-languages - 您希望在游戏编程 DSL 中看到哪些功能?

programming-languages - 哪些语言提供了对象字面量的使用?

programming-languages - 过去他们是如何直接输入机器码的?

使用 mqueue.h 和 -lrt 配置 ceedling

c - Linux套接字绑定(bind)连接

c - 如何从 sockaddr 获取 IP 地址

java - 通用类型参数的 T、U、V 约定从何而来?

programming-languages - 您对语言演变的预测