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語言字符串
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
<Thinking in JAVA>筆記 字符串
the_real徐帥
2019-02-23 13:59:15
C#小票打印(通用)
星星鑫鑫
2019-02-23 13:18:56
C/C++中將浮點數轉換爲字符串
riran
2019-02-23 12:57:35
JAVA判斷字符串是否爲數字
mcmoo
2019-02-23 00:43:08
echo命令
wx57cb9069e923f
2019-02-23 00:41:32
java中String的常用方法
5fresh
2019-02-23 00:41:05
Linux shell 正則表達式(BREs,EREs,PREs)差異比較
caobs
2019-02-23 00:37:32
【C語言】 字符串操作函數及內存拷貝函數歸總
Vs呂小布
2019-02-23 00:33:45
Java將一段逗號分割的字符串轉換成一個數組
小格
2019-02-23 00:31:13
js從url中獲取參數
wjj8899867
2019-02-23 00:29:40
在Win7中運行DOS命令必看"偷懶"祕籍
fwonebj
2019-02-23 00:28:16
Python學習-2天--字符串操作
逍v遙
2019-02-23 00:27:11
python 字符串截取
wb84451208
2019-02-23 00:27:08
SQL Server中使用正則表達式
wwdyl321
2019-02-23 00:25:45