c語言字元數組的存儲
Ⅰ c語言中定義一個字元數組,其中存放的是什麼
在C語言中,字元數組中存放的內容中字元的ASC碼。如果在定義過程中沒有賦初值,則數組中的元素都為0。如
char c[10];
定義了c是一個字元數組共有10個元素c[0]、c[1]……c[9],因為沒有賦初值,所以這10個元素的值都是0。
如果定義時賦了初值,或在程序中賦元素的值,則該元素保存對應字元的ASC碼值。如:
char c[10]="ABCD";
則元素
a[0]=65 //'A'的ASC碼是65
a[1]=66 //'B'的ASC碼是66
a[2]=67 //'C'的ASC碼是67
a[3]=68 //'D'的ASC碼是68
在程序中,a[0]='A'和a[0]=65是等價的。
驗證:
char a[10]="ABCD";
printf("%d %c\n",a[0],a[0]); //輸出65 A
printf("%d %c\n",a[3],a[3]); //輸出68 D
a[3]=65;
printf("%d %c\n",a[3],a[3]); //輸出65 A
printf("%d",a[6]); // 輸出0 因為沒有賦a[6]初值,所以其值為0
Ⅱ C語言中, 字元數組只能存放字元串嗎
不是,也可以存放其他的信息。 但是在C語言中因為沒有byte類型,而char類型只佔一個字元大小。所以聲明一個字元數組可以用作緩沖區。 因為可以定位到每一個位元組,所以非常靈活。 如果定義一個整形數組當然就不能定位到每一個位元組了,它必須一次訪問兩個位元組(在編譯器和操作系統認為int型占兩個位元組時)
Ⅲ 在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語言中怎麼把字元數組里的數據存放到字元串數組中
利用C語言標准庫中的strtok()函數,可以輕鬆快捷的將以空格分隔開的一串字元分成多個子串,存放到字元指針數組中。
函數說明:
#include <string.h> //頭文件
char *strtok(char *str, const char *delim);
strtok()用來將字元串分割成一個個片段。參數str指向欲分割的字元串,參數delim則為分割字元串中包含的所有字元。當strtok()在參數str的字元串中發現參數delim中包涵的分割字元時,則會將該字元改為 字元。在第一次調用時,strtok()必需給予參數str字元串,往後的調用則將參數str設置成NULL。每次調用成功則返回指向被分割出片段的頭指針。當沒有被分割的串時則返回NULL。
參考代碼:
Ⅳ C語言怎麼定義多個數組儲存字元串,又要求逐個輸入
需要准備的材料分別有:電腦陵虛、C語言編譯器。
1、首先,枝含打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。
Ⅵ 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語言中字元數組不單單只能保存字元串。
(6)c語言字元數組的存儲擴展閱讀:
字元數組的初始化:
字元數組的初始化與數值型數組初始化沒有本質區別。但它除了可以逐個給數組元素賦予字元外,也可以直接用字元串對其初始化。
用字元常量逐個初始化數組。例如:char a[8]={'i','l','o','v','e','y','o','u'};把8個字元依次分別賦給c[0]~c[7]這8個元素。
如果在定義字元數組時不進行初始化,則數組中各元素的值是不可預料的。如果花括弧中提供的初值個數(即字元個數)大於數組長度,則出現語法錯誤。如果初值個數小於數組長度,則只將這些字元賦給數組中前面那些元素,其餘的元素自動定為空字元(即'