阅读337 返回首页    go 阿里云 go 技术社区[云栖]


const char*

关于const char*的例子


#include<stdio.h>

int main()
{
	const char *p = "123";

	p[1] = '3';  //会报错
	p = "456";  //不会报错


	printf("%s\n",p);
	
	return 0;
}


"123"是常量,放在代码区,不可修改,所以需要加上const char *,这样编译的时候,如果直接p[1] = 1,编译器就知道你给const变量赋值,那就报错了。 char *p = "123"; p[1] = '3'; 编译还是能过去的,不报错,但是程序执行的时候,会发生不可预知的错误,因为你对代码区的常量进行了修改。


char *const p 修饰指针为常量 指针指向内容可以是变量~既 p++这样的操作不合法 *p='3' 合法

const char * p 是p指向的内容是常量~p是变量~
~既 p++合法  *p='3' 不合法



最后更新:2017-04-03 05:39:31

  上一篇:go Sphinx 2.2.3 安装和配置,英文数字中文搜索
  下一篇:go sphinx php 扩展安装