C語言陣列的問題

時間 2021-10-30 06:44:56

1樓:小海鬼

在c語言裡有字元陣列的說法,我想問的是那有沒有字串陣列這個說法呢?

答:c語言因為沒有字串型別(c++裡有),所以c語言處理字串的時候,需要把字串中的字元存到一個陣列裡頭,藉助陣列這個工具來對字串進行一系列的處理。那麼怎末標識一個字串呢,記住,字串必須是以空字元結尾的。

空字元是'\0'。有的時候也可以用ch==null?來判斷一個字元是不是空字元。

為什麼要用空字元結尾? 因為一些處理字串的工具函式要依賴這個結尾才來正確識別字串,才能為進一步的處理做準備。這些字串處理函式就是你列出的:

strcat函式(字串連線函式),strcpy函式(字串複製函式)。具體他們是什麼作用,我想你去看書本會得到易懂而且更詳細的答案。推薦(21天學會c語言 這本書)

附:如果在c裡頭要跟字串陣列能搭上邊的,就是宣告一個二維陣列,二維陣列的每一維都是一個一維字元陣列。那麼這個二維陣列就可以充當「字串陣列」的功能了。

如:int ch[2][20]=,};

另外,藉助字元陣列來處理字串,是一種,還有一種是通過動態分配記憶體在處理字串。

定義一個字元陣列:char c1=,我對這個陣列賦值,對嗎?

這裡的5對嗎?如果是6呢?

答:你是對這個字元陣列賦值,準確的說你是在定義一個陣列並對她初始化。這裡的5不對,應該是6,因為字串必須得是以空字元結尾,當然你也可以不用,但基本上沒人回這麼做。

因為這麼做了,你就無法使用處理字串的工具函式了。

在c語言裡有很多字元處理函式,如strcat函式(字串連線函式),strcpy函式(字串複製函式),……我想問c語言裡規定這些函式有什麼作用啊?

答:答一里頭說了,這裡就不重複了。

問:字元'\0'和字元『 』有什麼區別啊?(第二個字元是個空格字元)

答:首先他們都是一個字元,區別是:一個是空字元,一個是空格字元,它們在ascii碼是不一樣的,是兩個完全不同的字元。

空字元是空白字元的一種,屬於特殊字元。enter,tab 都屬於空白字元。

2樓:泣鑲卉

不對,應該寫成:

char c1="china",得留一個'\0'的位置,如果非得用5,那就這樣char c1=,

'\0'是指ascii為0值的字元,也就是不存在的字元,而' '是字元空格,其ascii是32。

3樓:

有字串陣列這一說法.

char c1=,錯的,

應該是char c1[6]="china",或者是 char c1[5]=, 因為字串有一個結束符,在分配內在的時候會自動載入,所以china這是五個字元,要再加一個結束符'\0'.

strcat函式(字串連線函式),strcpy函式(字串複製函式)

這是為了方便程式設計師編寫特定的程式.

'\0'是字串結束符,''是空字元,也就是說程式在遇到'\0'時會結束,但是在碰到''時不會,除非有特別的規定或者是特別語句.

從ascii上有這樣的區別:'\0'是指ascii為0值的字元,也就是不存在的字元,而' '是字元空格,其ascii是32

4樓:我欲弒神

你對陣列宣告是錯誤的

陣列宣告是這樣的char c1[6]=;這裡為什麼要用6呢。。因為還有個/0字元佔一個位置。還有那個大括號可以不要。。但是寫上也沒有錯誤。。

strcat函式是連線函式就是把2個字串連線成一個字串。。

而strcpy是複製函式。。

使用方法是這樣的。。

strcat(字串1或者指標1這個目標也是他,被拷貝字元2或者指標2);

strcpy(目標字元陣列,被複制字串。)這些函式方便了文書處理。。

問:字元'\0'和字元『 』有什麼區別啊?(他們都是一個字元。區別在於。前面的'/0'可以做字串結尾的標誌。而' '不能

5樓:匿名使用者

有字串陣列這個說法

首先這個賦值應該是這樣:char c1 = "china";

至於那些字串處理函式是方便使用者呼叫的,實際上這些函式我們自己也可以寫

但是不用白不用,我們自己就不用去寫了

'\0'是一個字串結束的標誌,而空格本身就是個字元。

C語言陣列問題

二維陣列儲存的形式你應該知道吧,上面那個儲存成a 0 2 4 a 1 6 7 a 2 1 3 a 3 5 9 a本身是陣列的首地址,a 1中1是偏移量。在這個二維陣列裡,每行有兩個數,偏移量就自動成了8 每個int佔4個位元組,兩個就是8個 這是c語言的一種處理。a表示取a的地址裡的值,這個值還是地...

c語言陣列中括號的問題,C語言陣列中括號的問題

函式形參中int sorce其實相當於int sorce,所以是指標而不是陣列,不信你可以在函式內改變形參sorce的值,而陣列是不可以重新賦值的。c 是不接受陣列作形參的。 可以在定義陣列的時候直接賦值,那樣就可以省略了列如 int a 陣列定義時必須確定長度,系統才知道給它分配多少記憶體。陣列作...

c語言指標與陣列問題,c語言陣列與指標相關問題,謝謝

這個問題關鍵在於理解指標為什麼要有型別。其實不同型別的指標本質上都是一樣的,即記憶體地址,地址本身是沒有型別的,賦予指標型別的意義在於給出儲存資料的位元組寬度,也稱資料對齊寬度。比如 int pt,pt是一個整數指標,那麼編譯器便知道如果通過pt讀取資料時需要一次讀取4位元組,因為那裡存放著一個in...