在 C 語言中,字符串實際上是使用null字符 '\0' 終止的一維字符數(shù)組。因此,一個以 null 結(jié)尾的字符串,包含了組成字符串的字符。
下面的聲明和初始化創(chuàng)建了一個 ''Hello'' 字符串。由于在數(shù)組的末尾存儲了空字符,所以字符數(shù)組的大小比單詞 ''Hello'' 的字符數(shù)多一個。
char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
依據(jù)數(shù)組初始化規(guī)則,您可以把上面的語句寫成以下語句:
char greeting[] = ''Hello'';
以下是 C/C ? 中定義的字符串的內(nèi)存表示:
如果想要現(xiàn)在學習的,小編推薦一個學C語言/C++的學習裙【 六二六,八七一,九一六 ?】邀請碼凌云,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進步一起學習!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享!
一、字符串輸入
1. 輸入單個字符串
可以使用scanf函數(shù),以空格為分割輸入字符串,代碼如下:
2. 輸入整行字符串
可以使用gets函數(shù),以 '\n' 為分割輸入整行字符串,代碼如下:小編推薦一個學C語言/C ?的學習裙【 六二七,零一二,四六四 】,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進步一起學習!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享!
二、字符串處理
1. 字符串拷貝
可以使用strcpy函數(shù),代碼如下:
注意:1. str1 會覆蓋 str2 內(nèi)容;2. 定義數(shù)組是,str2 長度要大于或等于 str1。
也可以使用strncpy函數(shù),代碼如下:
注意:str2 的前 n 個字符會被 str1 的前 n 個字符覆蓋。
2. 字符串連接
可以使用 strcat 函數(shù),代碼如下:
注意:要注意 str2 的長度為 str1 與原 str2 長度之和,str2 最后的 '\0' 字符會自動消失。
也可以使用strncat函數(shù),將字符串的前 n 個字符連接到另一個字符后面,代碼如下:
3. ?字符串比較
可以使用strcmp函數(shù),代碼如下:
4. 字符串長度
可以使用 strlen 函數(shù),代碼如下:
幾點學習建議:
1.基本概念很重要。無論學C,還是學C ?,基本概念都是第一位的,也是比較困難的,但只有把握了基本概念才能把握整體脈絡(luò),才能居高臨下。
2.C是C ?的子集,它的基本概念和設(shè)計方法相對比較容易理解,初學者可從它入手。
3.如果要學好C ?,建議初學者最好別在如VC,BCB平臺下寫程序,那種自動化的代碼生成,花花綠綠的界面,會讓你手足無措。最好先找一片空地(unix,dos),從頭做起,寫幾個大點的程序,數(shù)個回合,再到VC,BCB下看看,你會輕松得很。在我看來,學好C/C ?是成為VC,BCB高手的必由之路。
4.不要妄想速成,必須得一個byte,一個bit的去摳,盡量搞清楚每一個問題。