字串字元陣列的賦值

2021-08-04 07:16:21 字數 2238 閱讀 9855



字元陣列的定義與初始化

char str[10] = ;

如果說提供的字元的個數大於陣列的長度,就按語法錯誤處理,如果小於陣列的長度,不夠的位置用空字元補全

』\0』

字元陣列與字串

1)、c

語言中將字串當做字元陣列來處理

,字串的結束標誌是『

\0』,而前面的所有字元組成字串,不算

』\0』

2)

、對於字串常量的話,系統會自動在字串的結尾加

』\0』

,作為結束符,但是記憶體大小

=字元的個數+1(

』\0』

備註:

』\n』

的acss是0

的字元,

ascii是0

的字元是不可顯示,它只是用來辨別字串結尾的標誌

例項:字串陣列的初始化

char str = ;

char str = 「abc def」;

但是上面的例子只能用於初始化乙個字元陣列,並不能用於賦值,像下面的例子就是乙個錯誤:

char str;

srt=」abc def」;

所以字元陣列只能對其元素乙個乙個賦值,除此之外字串的大小是字元個數

+1因為系統自動加

』\0』

下面的例子與上面的初始化等價

char str = ;

char str =

的大小不同

;字串的表示形式

c

語言中存放字串的方式:

1

)、字元陣列

charstr = 「abc def」;

2

)、字元指標指向乙個字串

char*str = 「abc def」;

說明一下

str此時不是乙個變數了,事實上它在記憶體的常量區,

str指標指向該塊記憶體

,將字串的首位址賦給

srt字串的輸出方式

printf(「%s\n」,str);

這是給出了字串的首位址,系統輸出字元資料後,然後然後

str自動

+1指向下乙個字元,直到遇到字元標誌

』\0』

字串的賦值方式

再此必須明確字元陣列裡放的是陣列的成員,而字元指標只是放的指向字串的首位址

其次字元陣列絕對不能賦值

對字元陣列只能對各個元素賦值,不能用以下方法對字元陣列賦值

char str[14];

str="i love you";    

(但在字元陣列初始化時可以,即

char str[14]="i love you";

陣列名是常量,故不能直接賦值

,故只能用strcpy(因陣列已提前分好記憶體了)

而對字元指標變數,採用下面方法賦值:

char* a;

a="i love you";

指標是變數,故可直接賦值

,但不能用strcpy(因指標沒有分配記憶體,除非提前分配好如上)

char buf[10];

char *str=buf;

strcopy(str,」i love you」)



字串賦值到陣列

c語言 strcpy 函式用於對字串進行複製 拷貝 標頭檔案 string.h char strcpy char strdestination,const char strsource 引數說明 strcpy 會把 strsource 指向的字串複製到 strdestination。必須保證 str...

字串的賦值

字串表示方法 char str 20 char ch 賦值操作 1 定義的時候賦值 char str 20 what pity char ch how are you 2 用字串複製函式 strcpy str,what pity 但是對於用指標表示的字串變數用複製函式賦值會出現問題,需要先申請記憶體...

c語言字串,字串陣列的賦值使用問題

用來存放字元的陣列稱為字元陣列,例如 char a 10 一維字元陣列 char b 5 10 二維字元陣列 char c 20 給部分陣列元素賦值 char d 對全體元素賦值時可以省去長度 以下均等效 const u8 text buffer const char text buffer1 co...