C/C++基礎:char*使用總結

char* 類型使用總結

C++ 字符串與字符數組 詳解

1.初始化

char* pstr = "hello world";
char parr[] = "haha,xiexie";

"hello world"是字符串常量,存儲在內存的常量區,不能被修改。

pstr是指向字符串常量的指針,其指向內容不可以被修改,因此不能當作參數傳遞。

初始化需要修改的字符串,應該使用

char parr[] = "haha,xiexie";

parr也可以看作指針,“haha,xiexie”存儲在臨時堆棧上,超出作用域會自動銷燬,內容可以被修改。

parr是一個數組名,數組名是一個不可修改的常量,因此聲明的時候必須初始化,初始化方式包括兩種:

char s[] ={"beijing"};
char s[] = "beijing"
char s[] = {'b','e','i','j','i','n','g','\0'}

char* 和string相同,初始化只有一種方式:

char* ps="beijing";

2. char a[] = "hello";和char b[] = {‘h’,‘l’,‘l’,‘o’};二者是不一樣的。

字符串長度:應該是strlen(),對a求長度爲5,但是對b求長度是一個未知的大小,應該strlen()知道遇到'\0'才停止,所以a,b之間的長度不能比較

佔用內存大小:sizeof是大小,sizeof(a)=6,sizeof(b)=5,

另外,char c[]={"hello"},sizeof(c)=0;strlen=5

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章