C語言中,如何判斷乙個字元陣列是空的?

2021-06-26 19:36:25 字數 590 閱讀 3185

1、字元陣列不等價於char字串指標的

作為陣列的時候,定義多長,記憶體分配空間就是多長

作為char字串指標,尾部是自動增加了乙個\0字元的

這個就是你用\0作為結束判斷找不到正確結束位置的原因

字元陣列是否為空是要自己定義空的概念的

如果你的定義是把字元陣列當中字串來理解的話,第乙個元素是否是\0字元就是判斷準則了(可以用src[0] == '\0'來判斷字串陣列是否為空)

2、你定義的陣列,就象開了一排5個房間,不管你有沒有用,這5個房間都已經分配給你了,沒什麼空不空的概念,你可以不去住,但空間已經在那裡了,裡面怎麼會沒有任何元素呢?難道是真空?嘿嘿.

至於裡面到底是什麼東西,要看編譯器怎麼處理了,也可能是隨機的資料,因此對程式設計師來講是不可預料的,也不可能通過null或'\0'去檢查.

3、其是陣列沒有為空的,只要你申請了空間(陣列一定以就在棧上有自己的空間),空間裡就有資料,可以輸出.然而:

你用memset把陣列空間全部賦值為0了,是可以判斷的.但是需要判斷空間的內容,即:a[i].word[0]

a[i].word是陣列word[20]的首位址,當然不會為0,或者『\0』

C 中如何判斷乙個字元是漢字

判斷乙個字元是不是漢字通常有三種方法,第一種用 ascii 碼判斷,第二種用漢字的 unicode 編碼範圍判 斷,第三種用正規表示式判斷,以下是具體方法。1 用ascii碼判斷 在 ascii碼表中,英文的範圍是0 127,而漢字則是大於127,具體 如下 csharp view plain co...

C 中如何判斷乙個字元是漢字

判斷乙個字元是不是漢字通常有三種方法,第一種用 ascii 碼判斷,第二種用漢字的 unicode 編碼範圍判 斷,第三種用正規表示式判斷,以下是具體方法。1 用ascii碼判斷 在 ascii碼表中,英文的範圍是0 127,而漢字則是大於127,具體 如下 string text 是不是漢字,ab...

C 中如何判斷乙個字元是漢字

判斷乙個字元是不是漢字通常有三種方法,第一種用 ascii 碼判斷,第二種用漢字的 unicode 編碼範圍判 斷,第三種用正規表示式判斷,以下是具體方法。1 用ascii碼判斷 在 ascii碼表中,英文的範圍是0 127,而漢字則是大於127,具體 如下 string text 是不是漢字,ab...