閱讀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 擴展安裝