c語言如何定義字符串?
定義字符串的過程中的注意點(diǎn):
由于字符串本質(zhì)上其實(shí)就是以'\0作為'結(jié)尾的特殊字符數(shù)組,所以定義字符串時(shí),必須保證字符串存儲(chǔ)的最后一個(gè)元素為'\0'。
當(dāng)我們沒有給定字符串具體長度時(shí),我們通過這種方式:char 字符串名稱[] = {字符串所含元素}; 來定義字符串時(shí),就需要手
動(dòng)的在字符串末尾加上'\0',不然的話,它就僅僅是一個(gè)字符數(shù)組,而不是我們所需要的字符串。當(dāng)我們給定字符串具體長度時(shí),
也就是通過這種方式:char 字符串名稱[字符串長度] = {字符串所含元素}; 來定義字符串時(shí),就需要使字符串長度等于字符串實(shí)際
長度+1,不然的話,它也僅僅是一個(gè)字符數(shù)組,而不是我們所需要的字符串。具體實(shí)例見定義字符串的具體格式。
3,定義字符串的具體格式
3.1,char 字符串名稱[字符串長度] = {字符串所含元素};
注意點(diǎn):如果字符串所含元素中我們沒有加上'\0',那么字符串長度應(yīng)該就為字符串實(shí)際長度+1;
例如 :char name[6] = {'t', 'o', 'm', 'h', 'e'};
3.2,char 字符串名稱[] = {字符串所含元素};
注意點(diǎn):通過這種方式來定義字符串,則需要在{}中寫上'\0';
例如:char name[] = {'t', 'o', 'm', 'h', 'e', '\0'};
3.3,char 字符串名稱[] = "字符串所包含元素"
注意點(diǎn):通過這種方式來定義字符串的底層原理其實(shí)就是將"tomhe",轉(zhuǎn)換為了{(lán)'t', 'o', 'm', 'h', 'e', '\0'};
例如:char name[] = "tomhe"; <==> char name[] ={'t', 'o', 'm', 'h', 'e', '\0'};
具體代碼如下:
#include
int main()
{
char str1[6] = {'t', 'o', 'm', 'h', 'e'};
char str2[] = {'7', '8', '8', '\0'};
char str3[] = "tomhe789";
printf("str1 = %s\n",str1);
printf("str2 = %s\n",str2);
printf("str3 = %s\n",str3);
return 0;
}