c語言中關於字元陣列和字串的區別

2021-04-20 14:50:38 字數 1765 閱讀 2875

1樓:砍侃看

陣列的長來度是固定的,源我們知道在哪個地方結束。對於c型別的字串,要想知道在那個地方結束的話,我們只需要檢測某個位置的字串是不是\0就行了,也就是說c型別的字串是以\0標記結束的。所以字元陣列和c型別字串的區別就是那個\0。

其實從字元陣列和c型別字串的儲存位置上來說也是不同的,這也算是一個區別吧。

2樓:匿名使用者

結束符不同

\0~~~~~~~~~~

c語言字串陣列和字元陣列有什麼區別?

3樓:孤獨的蠍子

這個是字元陣列。

c語言字元陣列和字串的區別,字元陣列是一個儲存字元的陣列,而字串是一個用雙括號括起來的以'\0'結束的字元序列,雖然字串是儲存在字元陣列中的,但是一定要注意字串的結束標誌是'\0'。

總的來說是沒有區別的,字串就是以字元陣列形式儲存的。可以把一個字串看成是一個字元陣列,可以按陣列那樣操作。兩者沒有本質的區別,只是在不同的情況下有不同的叫法。

4樓:匿名使用者

char a=;這個字元陣列char a=;這個的話可以說是一個字串陣列。一維的字元陣列是就如char a=;二維的字元陣列是就如char a={"sasa","dadad","rerf",可以說二維的字元陣列就是字串陣列

5樓:

int array[10];

char array[10];

第2行是字元陣列,也就是說此時的陣列在記憶體中是一段連續的儲存空間,這一段空間 裡面的單位是1個位元組一個位元組的。好比火車一節一節連線在一起,通俗來說字元陣列裡面裝的都是字元

第1行是整形陣列,也就是說此時的陣列在記憶體中是一段連續的儲存空間,這一段空間 裡面的單位是2(或4位元組)個位元組2個位元組的。好比火車2節2節連線在一起,通俗來說整形陣列裡面裝的都是int型整數

不過你說的這個問題看你看問題的角度了。本質區別?用法區別?等等······

我跟你講的是記憶體中的區別。

共同點:都是連續的空間。

不同的:單元長度不一樣。

6樓:某某知識教授

總的來說是沒有區別的,字串就是以字元陣列形式儲存的。

可以把一個字串看成是一個字元陣列,可以按陣列那樣操作。兩者沒有本質的區別,只是在不同的情況下有不同的叫法。

7樓:匿名使用者

這個是字元陣列,沒有字串陣列這種說法的。。 char a[ ]="abcd";就是可以用字串給字元陣列初始化

8樓:匿名使用者

字串本身就是一陣列(c風格字串),以0字元結尾

這裡的a說成是字元陣列沒問題,說成是字串也對

因為c裡字串的組織形式本質就是陣列

9樓:來賓你好闖天涯

字元陣列可以轉為字串陣列,但是字串陣列不可以轉為字元陣列

c語言 字元陣列和字串有什麼區別?

10樓:愚夫噬血

字元陣列裡面放的是你輸入的內容;

而字串中放的也是你輸入的內容,只是結尾多了一個『\0』

11樓:晉訪晉沛若

字串本身就是一陣列(c風格字串),以0字元結尾

這裡的a說成是字元陣列沒問題,說成是字串也對

因為c裡字串的組織形式本質就是陣列

c語言中字串和陣列的區別

C語言字串問題,C語言中,字串是什麼?

這迴圈需要執行4次,對應的字元就是0001,也就是說這個sc需要5個空間,加一個 0 for i 0 i 2.你這個程式每次執行的結果可能是不確定的,因為你沒有初始化sc陣列,printf以字串的形式輸出,他是遇到 0 字元才結束的,所以為了保證程式的結果是一致的,建議初始化陣列。sc 5 這樣就可...

關於c語言中字串指標變數的問題

樓主你好 字元指標ps賦值後是字串 this is a book 的首地址 也就是說此時ps指向第一個字元 t ps就是 t n 10 ps ps n 就是使指標ps指向字串 this is a book 的第11個字元 也就是 b 那麼printf s n ps 就是輸出以ps為首的 以 0 結束...

關於C或者 C語言中字串和指標問題的疑問求高手解答

s是指向字串的指標,s是printf格式化輸出字串,而 c是printf格式化輸出單個字元。s相當於s 0 所以輸出單個字元。輸出地址用 p。輸出格式定義,定義了輸出什麼型別的變數,輸出時做怎樣的轉換。printf s s 格式 s 定義了輸出 一個字串,輸出變數 提供 輸出的 char 型 陣列 ...