1. 程式人生 > >C語言字符串

C語言字符串

con 很好 數據段 [] 代碼 註意 數據 通過 編譯

C語言中是沒有專門的字符串變量類型的,我覺得都是通過存放地址連續的字符來生產成的字符串。字符串有兩種辦法來聲明和使用一個是字符指針另一種是字符數組。如下:
char ch="linux";
char ch[]="linux";
這兩種方法第一種用的比較多但是裏邊但是這其中其實也隱含著幾個重要的概念。
先說第二種,這種方式定義使用都比較簡單但是要註意在最後有一個‘\0‘作為字符串的結束是系統放進去的。這要註意‘‘ ‘\0‘和 ‘ 0‘ 的區別。第一種方式定義就尤其要註意因為在GCC中在編譯的時候將第一種定義的"linux"是放在代碼段的也就是說是只讀的如果你通過指針進行了修改那麽就會報段錯誤那就是說第一種那樣的定義是不能進行修改的,第一種定義就相當於是定義成 const char
ch="linux";是一樣的但是在平常的 使用中都用第一種方式是因為這種方式比較靈活,第二種方式定義一般就只能存放在程序的私有棧裏,而第一種就比較靈活數據段,棧,堆裏都可以存放普遍的用法應該是
char a[]="linux";
char p=a;
之後來操作p進行數據訪問和修改或者是
char
p=(char *)malloc(20);
申請堆地址來進行訪問。
這裏就很好的體現了他的靈活性可以使用棧、堆、數據區等所有能提供內存的地方。

C語言字符串