const+char*+和+char*+const
来源:互联网 发布:下载 windows 10 编辑:程序博客网 时间:2024/05/17 22:14
这个概念经常是让很多程序员在面试时头疼的问题。记得一个师兄曾经告诉过我,区分和记忆这个的最好方式就是顺着 const往后(右)看,如果和它直接相邻的是char*,说明它限定的就是指针指向的字符串,如果它直接修饰的是一个纯变量,我们认为它限定的是一个指针。
限定字符串:说明这个字符串不能够被重新赋值或者修改。
限定指针:说明指针指向的区域不能被修改,移动或者重新分配。
#include <stdio.h>#include<unistd.h>#include<sys/types.h>int main(){ char* const message = "ahha"; message++; return 0;}如上代码所示,当如图运行时,编译器报错(是一个不可以修改的指针)
#include <stdio.h>#include<unistd.h>#include<sys/types.h>int main(){ const char* message = "haha"; message++; printf("%s\n",message); return 0;}如上代码所示,如图运行时,成功并打印出结果(此时的指针可以修改)
#include <stdio.h>#include<unistd.h>#include<sys/types.h>int main(){ const char* message = "haha"; message[0]++; printf("%s\n",message); return 0;}如上代码所示,如图运行时,出错(修改了不能修改的内存区内容)
- const char * 、 char const * 和 char * const
- const+char*+和+char*+const
- const char*和char* const
- const char*和char* const
- char *和const char *
- const char * 和 char const * 和 char * const 区别
- const char * 和 char const * 和 char * const 区别
- const char * 和 char const * 和 char * const 区别
- const char * 和 char const * 和 char * const 区别
- const char & char const
- const char* char*const
- const char*,char *const,const char*const
- const char*,char *const,const char*const
- const char*, char const* 和 char *const (zt)
- const char*和char const*以及char*const(转载)
- const char*和 char const*以及 char*const
- const char*和char const*以及char*const(转载)
- const char*和char const*以及char*const
- 关于项目和实施过程中部分角色行为的心得体会
- 工厂模式
- C#的4个基本技巧
- MyEclipse使用经验总结
- SQL语法总结
- const+char*+和+char*+const
- poj1390 方块消除 dp
- Oracle总结
- grep的用法
- C/C++程序入口函数的隐藏方法
- 项目开发全过程跟踪
- tomcat中配置web应用程序
- Android控件之ExpandableListView
- STM32 PWM