c字元串存儲
Ⅰ 在c語言中,字元型數據在內存中以何種形式存放
C語言中,用Char定義一個變數,系統會為這個變數分配一個位元組的空間,只能存放一個字元,如果是一串字元,就要用char定義一個數組,來存放字元串。
比如,你想存放一個字元串「Fuzhou」(一個以上字元),可以定義一個字元數組,假設數組名起名為cname,採用下列代碼
char cname[]="Fuzhou";
或者
char cname[7];
cname[0]='F';
cname[1]='u';
cname[2]='z';
cname[3]='h';
cname[4]='o';
cname[5]='u';
cname[6]='\0';
前者是定義時賦值(初始化),後者是先定義後賦值,最後一個『\0』,是字元串結束的標志。
C語言中,沒有專門定義字元串的數據類型,但有一些關於字元串運算的函數。
Ⅱ C語言字元串儲存定義變數問題
char [99]------>表示一行茄野字元串(題外話:它只有長度,沒有寬度)
char [99][99]------>表示多行字元串(或者叫二維表), 把它想像成書本的一老賣頁, 一頁上有多行侍納逗字元串(這下有寬度了)
char [99][99][99]------>表示多行字元串(表)的數組, 想像成一本書, 是許多頁的集合, 每頁上又有許多行字元串(高度的屬性也有了)
Ⅲ C語言中字元串的存儲以及輸出問題
1.
換行是puts的自帶技能,使用puts會自動換行
2.
char c[]={'H','i','\0'};跟char c[]={'H','i'}; 長度不一樣,它們的區別就是一般字元數組和字元串的區別
// 這里字元數組c的長度為3,包含'H','i','\0'這三個元素,其中'\0'為字元串結束符
// c可以作為字元串使用,等效於char c[]="Hi";
char c[]={'H','i','\0'};// 這里字元數組c的長度為2,包含'H','i'這兩個元素,不含字元串結束符
// c只是一個字元數組,不能作為字元串使用;
char c[]={'H','i'}; 用printf()函數輸出看看就能更明白了。
還有問題的話可以繼續追問。
Ⅳ c語言中字元型數據在內存中的存儲形式是
字元型數據在內存中儲存的是它的ASCII碼值,它是一個位元組,所有數據類型在內存中都是以0和1代碼二進制儲存的,這個原則不會變。
在C語言中,char型數據是將一個字元常量放到一個字元變數中,並不是把該字元本身放到內存單元中去,而是將該字元的相應的ASCII代碼放到存儲單元中。
編碼中,一個漢字字元存儲需要2個位元組。在UTF-8編碼中,一個英文字母字元存儲手明需要1個位元組,一個漢字字元儲存需要3到4個位元組。在UTF-16編碼中,一個英文字母字元或一個漢字字元存儲都需要2個位元組。在UTF-32編碼中,世界上任何字元的存儲都需要4個位元組。
(4)c字元串存儲擴展閱讀:
由於標准 ASCII字元集字元數目有限,首薯鉛在實際應用中往往無法滿足要求。為此,國際標准化組織又制定了 ISO2022 標准,它規定了在保持與 ISO646 兼容的前提下將 ASCII字元集擴充為 8 位代碼的統一方法。
ISO 陸續制定了一批適用於不同地區的擴充 ASCII字元集,每種擴充 ASCII 字元集分別可以擴充 128 個字元,這些擴充字元的編碼均為高位為 1 的 8 位代碼(即十進制數 128~255 ),稱為擴展 ASCII 碼。
Ⅳ C語言中字元數組只能存放字元串
不是的,C語言中字元數組既者游可以保存字元,又可以保存字元串。
字元數組本意就是是指用來存放字元數據的數組。字元數組的元素是字元類型的。字元數組用於存放字元或字元串。
C語言中字元數組的一般形式為: char 數組名[數據長度] 。例如:char a[10]; a[0]='0'; a[1]=' 1'; a[2]='2'; a[3]='3'; a[4]='4'; a[5]='5'; a[6]=' 6'; a[7]='7'; a[8]='8'; a[9]='9'; 就定義了a為字元數組,包含10個銷嘩"0"到「9」的字元元素。
因此,C語言中字元數組不單單只能保存字元串。
(5)c字元串存儲擴展閱讀:
字元數組的初始化:
字元數組的初始化與數值型數組初始化沒有本質區別。但它除了可以逐個給數組元素賦予字元外,也可以直接用字元串對其初始化。
用字元常量逐個初始化數組。例如:char a[8]={'i','l','o','v','e','y','o','u'};把8個字元依次分別賦給c[0]~c[7]這8個元素。
如果在定義字元數組時不進行初始化,則數組中各元素的值是不可預料的。如果花括弧中首斗銷提供的初值個數(即字元個數)大於數組長度,則出現語法錯誤。如果初值個數小於數組長度,則只將這些字元賦給數組中前面那些元素,其餘的元素自動定為空字元(即'