charc10China佔幾個位元組

2021-05-29 18:09:39 字數 4210 閱讀 3223

1樓:匿名使用者

字串常量"china「佔六個位元組,分別是字元'c', 'h', 'i', 'n' 'a'5個字元和結束符'\0'.共六個。

字元陣列c的大小

只和c[10]中的10有關內,定容義了大小為10個char,char大小為一個位元組,所以c的大小是10個位元組。

這個式子進行了初始化賦值。c[0] = 'c', c[1] = 'h',直到c[5] = '\0';

c[6] - c[9]實際上沒有操作。但是這個和記憶體大小已經沒有關係了。

char c[10]={"china"};到底佔幾個位元組?五個,六個還是十個?

2樓:墨汁諾

c[10]佔bai10個位元組,在記憶體中這樣du顯示『c』,『h』,'i','n','a','\0','\0','\0','\0','\0'。而如果zhi僅僅是「china」的話,dao

因為它是為字串,系統專會在字串末

屬尾自動新增1個字串結束標誌「\0」,所以「china」佔6個位元組。

字元陣列c的大小隻和c[10]中的10有關,定義了大小為10個char,char大小為一個位元組,所以c的大小是10個位元組。

3樓:火虎

字串常量"china「佔六個位元組,分別是字元'c', 'h', 'i', 'n' 'a'5個字元和結束符'\0'.共六個。字元陣列c的大小隻和c[10]中的內10有關,定容義了大小為10個char,char大小為一個位元組,所以c的大小是10個位元組。

這個式子進行了初始化賦值。c[0] = 'c', c[1] = 'h',直到c[5] = '\0'。

4樓:簫聚星月

c[10]佔10個位元組,在

復記憶體中這樣顯示『

制c』,『h』,'i','n','a','\0','\0','\0','\0','\0'。而如果僅僅是「china」的話,因為它是為字串,系統會在字串末尾自動新增1個字串結束標誌「\0」,所以「china」佔6個位元組。

5樓:匿名使用者

字串常bai

量"china「佔六個位元組du

,分別是字元zhi'c', 'h', 'i', 'n' 'a'5個字元和結束符'\0'.共六個。

dao字元陣列c的大小

只和內c[10]中的10有關,定容義了大小為10個char,char大小為一個位元組,所以c的大小是10個位元組。

這個式子進行了初始化賦值。c[0] = 'c', c[1] = 'h',直到c[5] = '\0';

c[6] - c[9]實際上沒有操作。但是這個和記憶體大小已經沒有關係了。

6樓:匿名使用者

10個,系

bai統會為其分配10個位元組的du大小。至zhi於你用多

dao少是自己的事情。專

一般習慣

屬 char c[10]; memset(c, 0 ,sizeof(c));再賦值。

char c[10] = "china"; sizeof (c) =10; strlen(c)= 5;

7樓:寂寞而莫我知也

10個位元組,沒佔到的補\0

8樓:匿名使用者

sizeof (c)=10;

strlen(c)=5;

佔10個位元組。

9樓:匿名使用者

我還是這麼跟你說吧:

sizeof(a) = 10;

sizeof("china") = 6;

strlen("china") = 5;

c語言問題 char[5]=「china」 它的字元長度是5還是6?所佔位元組是5還是6?

10樓:程式猿3號

你這樣寫,

在vc6中可能沒有錯,但是,vc6是很不標準的。。。

在vs2010中是肯定不能這麼寫的,因為越界了。

你必須這麼寫

char[6] = "china"

在記憶體中是這樣儲存的

c h i n a \0

最後一位要儲存\0;

它的字元長度是5,

佔用6個字元。

11樓:葉片舟

字元長度是5,不包括'\0',空字元

位元組大小就是陣列定義的大小

在你這個陣列中,所佔位元組也是5,因為,你陣列定義的就是這麼大,沒給空字元留空間

12樓:匿名使用者

char s[5],系統僅分配5個字元空間,用"china"來初始化這個字元陣列是有風險的,c語言規定,預留的空間必須考慮串結束符'\0',在vc++ 6.0環境下,編譯錯誤資訊是,error c2117: 'china' :

array bounds overflow,直譯是陣列邊界溢位,也就是說,初始化串太長,超出預留空間了。

13樓:匿名使用者

strlen未知

所佔位元組是5

char a[]={"china"}; 長度是幾

14樓:匿名使用者

a[5]是表示'\0',但是'\0'對應bai的ascll碼是0,在ascll碼錶中du前32號(0~31)zhiascll碼代表的字dao符是控制字元(如換回行符就在這範

答圍內),不屬於可列印字元,因此即使a[5]列印出來是看不到的

另外 sizeof的值是6,strlen的值是5 也就在測算長度時候sizeof符號把'\0'算在內,而函式strlen()不把'\0算在內,這也是為了需要,因為大部分測算字元我們都不需要把後面的'\0'算上!'

15樓:匿名使用者

長度是6,char a[6] = ; a[5] = '\0',空字元,表示結束,系統自動加的。

16樓:匿名使用者

a[5]可以列印的

sizeof的值是6,

strlen的值是5

17樓:逸雲凡忌

strlen 得5

算上結束符'\0' 6

有陣列定義:char array[]="china";則陣列array所佔的空間為多少位元組 為什麼(儘量詳細)

18樓:peking在路上

在定copy義字元陣列用字串常量進行初始化時,系統會自動在結尾加'\0'做結束標誌,所以陣列array所佔的空間為6個位元組。

所謂陣列,是有序的元素序列。[若將有限個型別相同的變數的集合命名,那麼這個名稱為陣列名。組成陣列的各個變數稱為陣列的分量,也稱為陣列的元素,有時也稱為下標變數。

用於區分陣列的各個元素的數字編號稱為下標。陣列是在程式設計中,為了處理方便, 把具有相同型別的若干元素按無序的形式組織起來的一種形式。 這些無序排列的同類資料元素的集合稱為陣列。

陣列是用於儲存多個相同型別資料的集合。

19樓:情感分析

有陣列定義所佔空間為多少位元組?多少位元組?當你輸入的時候左下角會顯示出有多少位元組?

20樓:匿名使用者

空間為6。

分析過程:

"china"是個字串常量

字串是以\0為結束符的字元陣列,\0是個不可視字元,故"china"所佔的空間為:5+1=6。

char array="china"; 這裡定義陣列array,並用"china"進行初始化。定義陣列時,沒有指定陣列元素個數,則,陣列array所佔空間由初始化資料所確定。

因此,array所佔空間就是"china"所佔空間的大小。

21樓:

6個位元組 。。

"china" 5個char型,5個位元組,不過char 字串預設會新增'\0'作為結束符。所以再加一個'\0'為6個位元組。

22樓:泡泡第一名

在c語言中,復

字串是被作製為字元陣列來處理的。一般bai一個陣列du元素儲存一個字元,zhi

並且規定了在串末以字

dao符『\0』作為「字串結束標誌」,即:

「china」後自動加了『\0』,變為「china\0」,所以加起來一共有 6 個位元組。

邊外話:c語言中之所以這樣規定,主要是因為人們在使用陣列時,往往不能對已定義的陣列長度(所佔的記憶體空間)進行充分利用,多了結束標誌,可以有效地節省其多餘的記憶體空間。

c語言函式怎麼返回char,c語言函式怎麼返回char 型別

c語言中,函式的定義格式 函式返回值型別 函式名 形參列表 所以,返回值為char 的函式指標的定義格式是 char 指標變數名 函式形參列表 函式體 c語言怎麼設定函式返回值為char 字串型別?把函式的返回值的型別設定為char型別的指標就可以了。例如 char multmatrix 例項 in...

排列組合C10,1C10,2C10,3C10,

該和式表示從10個元素中任取1個到10個的取法的總和,換一種作法,10個元素中每一個都有被取到或未被取到兩種可能,故總共的取法數為2 10 1 其中減一是為了排除10個元素中一個也未被取到的可能。所以該和式等於2 10 1.使用公式 2 n c n,0 c n,1 c n,n 所以,答案是2 10 ...

win10 C盤擴充套件卷是灰色的,Win10 c盤擴充套件卷灰色該怎麼辦

工具 原料 windows10 電腦 方法 步驟 1 在 計算機管理 視窗中,右擊c盤,彈出選單中,擴充套件卷為灰色。2 右擊 d盤 彈出選單點選 刪除卷 3 彈出提示視窗,點選 是 4 d盤變成未分配的空間。5 右擊 c盤 在彈出選單中 擴充套件卷 變為黑色了。刪除中間926m的磁碟,即可為c盤擴...