您好,登錄后才能下訂單哦!
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);
申請堆地址來進行訪問。
這里就很好的體現了他的靈活性可以使用棧、堆、數據區等所有能提供內存的地方。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。