當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 什么是字符串?dāng)?shù)組
一、概念理解
1.C語言中沒有字符串類型,用一片內(nèi)存空間保存一串字符,這片空間稱作字符數(shù)組。
2.以‘\0’結(jié)尾的字符數(shù)組被稱為字符串?dāng)?shù)組。‘\0’是字符串結(jié)束的標(biāo)志。
3.用雙引號括起來的都是字符串。
二、初始化
char str[6] = {'h','e','l','l','o','\0'};//字符串?dāng)?shù)組
char str[6] = “hello”; //簡化版寫法
char str[6] = {'h','e','l','l','o'};//str[5]的內(nèi)存上自動賦值為’\0’
char str[10]= {'h','e'} //其余8個元素自動賦值為’\0’
char str[]=“hello”;//元素個數(shù)可以省略 數(shù)組分配空間大小為字符串中實(shí)際賦值字節(jié)數(shù)6
char *str=“hello”;//str是指針 存儲字符串首地址 指向字符串
注意:字符數(shù)組與字符串?dāng)?shù)組
char str[5] = {'h','e','l','l','o'};//是字符數(shù)組而不是字符串?dāng)?shù)組,因?yàn)闆]有’\0’
三、賦值
1.利用scanf函數(shù)接收字符串。scanf遇到空格或者回車就結(jié)束輸入 也就是說 字符串中不可以有空格
2.利用gets函數(shù)接收字符串?梢越邮苡锌崭竦淖址
3.(1)字符串拷貝--strcpy,該函數(shù)會將源的數(shù)據(jù)拷貝到目標(biāo)中,并且會覆蓋掉目標(biāo)中原有的數(shù)據(jù),目標(biāo)的內(nèi)存必須能夠存放拷貝的數(shù)據(jù)。
(2)使用這個函數(shù)必須加頭文件<string.h>
四、求字符串大小
1.使用strlen函數(shù)
(1)它是一個字符串函數(shù),它相當(dāng)于一個計數(shù)器,當(dāng)它遇到’\0’時就停止計數(shù)。(不含字符‘\0’)
(2)需要加頭文件<string.h>
(3)注意:這個函數(shù)只能用于求得字符串大小,不能求其他類型大小。
結(jié)果:
2.使用sizeof 是關(guān)鍵字 求得變量或類型所占內(nèi)存空間大小
結(jié)果:
3.