C 編寫乙個字串類的實現器!

發布 科技 2024-07-21
3個回答
  1. 匿名使用者2024-01-31

    為了更好地操作字串,C C++ 宣告字串的最後乙個字元是'\0'(ASCII碼為0),其他字元的ASCII碼大於0,所以在排序、比較、複製、匯出等時會遇到這種情況'\0',這意味著字串已結束。 在系統函式中,例如 strcmp()、strcat()、strlen() 等,它們都以'\0'為標誌的末尾。

    對於 char s ="life";,有 4 個字元,分別是有效字元數和字串長度(strlen(s) 的返回值),但在記憶體中,字元 E 後面還有乙個 ASCII 值 0'\0',所以占用空間是 5,比實際字串多乙個字元。

  2. 匿名使用者2024-01-30

    首先,房東你要了解乙個概念。 C語言中沒有字串型別,C語言提供了字串常量,這意味著“字串常量”的概念存在於C語言中,C語言是以“nul”位元組結尾的字串。

    為了說明這個例子,讓我們假設乙個字串“hello”。

    1、他的有效字元數,房東自己數了一下就知道是5個 2,字串長度=位元組數,剛才說是以“nul”位元組結尾的字串,那你就用有效字元數加一。

    3. 占用的空間是多少? 你對儲存不太了解,是嗎? 字串像字元陣列一樣儲存,這裡的 s=“hello” 等價於 s="hello",空間占用 5+1 位元組。

    嚴重蔑視那些複製貼上的答案。

  3. 匿名使用者2024-01-29

    24.char ** 是指向字元指標的指標,或者是字元指標的陣列,malloc 應用於 9 個空格,由於。

    指標通常具有與 int 型別相同的位元組數(2 或 4),因此兩個指標的空間是通過 malloc 請求的,換句話說,乙個包含兩個元素的 s 指標陣列。

    s 表示第乙個字元指標,因此 b 是正確的,可以指向常量字串。

    a 為 false。

    c 是錯誤的,**s 是乙個字元。

    d 右邊的表示式本質上是錯誤的。

    25.Language 也是乙個指標陣列,包含 5 個字元指標,每個指標指向大括號中的字串。

    language[1] 和 languaage[3] 分別指向"america"跟"italy"

    language[1] 和 language[3] 是這兩個字串的第乙個元素,所以選擇 C

    26.選擇 b,language[2] 是乙個字元指標,即位址。

    如果您仍有疑問,請隨時溝通。

相關回答
2個回答2024-07-21

1. trim() 是刪除第乙個和最後乙個空格。

2、" ", "");刪除所有空格,包括開頭和結尾以及中間。 >>>More

10個回答2024-07-21

這個錯誤令人震驚。

至少,它應該是乙個陣列。 >>>More

14個回答2024-07-21

這似乎是低效的,但數量是最少的。

string str = "1212324"; >>>More

8個回答2024-07-21

用什麼語言?

8個回答2024-07-21

意思是將變數 b 的值轉換為 int(數字)。 前提是 b 是可以轉換為數值的東西。 例如,b="2009"2009 現在是一種字元型別。 這是行不通的。 >>>More