1,什么是字符串?
所謂字符串本質上就是以'\0作為'結尾的特殊字符數組;
2,定義字符串的過程中有哪些注意點
由於字符串本質上其實就是以'\0作為'結尾的特殊字符數組,所以定義字符串時,必須保證字符串存儲的最后一個元素為'\0'。
當我們沒有給定字符串具體長度時,我們通過這種方式:char 字符串名稱[] = {字符串所含元素}; 來定義字符串時,就需要手
動的在字符串末尾加上'\0',不然的話,它就僅僅是一個字符數組,而不是我們所需要的字符串。當我們給定字符串具體長度時,
也就是通過這種方式:char 字符串名稱[字符串長度] = {字符串所含元素}; 來定義字符串時,就需要使字符串長度等於字符串實際
長度+1,不然的話,它也僅僅是一個字符數組,而不是我們所需要的字符串。具體實例見定義字符串的具體格式。
3,定義字符串的具體格式
3.1,char 字符串名稱[字符串長度] = {字符串所含元素};
注意點:如果字符串所含元素中我們沒有加上'\0',那么字符串長度應該就為字符串實際長度+1;
例如 :char name[6] = {'T', 'o', 'm', 'H', 'e'};
3.2,char 字符串名稱[] = {字符串所含元素};
注意點:通過這種方式來定義字符串,則需要在{}中寫上'\0';
例如:char name[] = {'T', 'o', 'm', 'H', 'e', '\0'};
3.3,char 字符串名稱[] = "字符串所包含元素"
注意點:通過這種方式來定義字符串的底層原理其實就是將"TomHe",轉換為了{'T', 'o', 'm', 'H', 'e', '\0'};
例如:char name[] = "TomHe"; <==> char name[] ={'T', 'o', 'm', 'H', 'e', '\0'};
具體代碼如下:
#include <stdio.h> 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; }