資源描述:
《VC中字符數(shù)組的使用.docx》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、1我定義一個(gè)字符數(shù)組:chara[12];a="null";錯(cuò)誤.*a="null";錯(cuò)誤;又如果定義char*a;a="null";正確.*a="null";錯(cuò)誤;這些是基本的概念,你一定要弄懂:chara[12];//定義了一個(gè)字符數(shù)組,數(shù)組名稱為a,這個(gè)時(shí)候,a是一個(gè)指針,并且是常量類型,在整個(gè)數(shù)組生存期內(nèi)其值都是不可改動(dòng)的。a="null";//這個(gè)時(shí)候,a是一個(gè)常量指針,指向數(shù)組的首地址,他的值在數(shù)組的生存期都是不可改變的?,F(xiàn)在把一個(gè)字符串賦值給他,當(dāng)然是不行的。*a="null";//a本身是
2、一個(gè)常量指針,指向數(shù)組的首地址,對(duì)他進(jìn)行解引用,得到一個(gè)字賦值,此時(shí)把一個(gè)字符串常量的首地址賦值給他,這個(gè)比較無(wú)厘頭,不談了。char*a;//定義了一個(gè)字符指針。a="null";//把一個(gè)字符串常量賦值給他,也就是把常量"null"的首地址賦值給a,正確。*a="null";//a是一個(gè)字符指針,對(duì)他進(jìn)行解引用后,得到的必然是一個(gè)單個(gè)字符值,把一個(gè)字符常量的首地址付給這個(gè)字賦值,這個(gè)也同樣無(wú)厘頭。2C++字符串處理庫(kù)(標(biāo)準(zhǔn)庫(kù))中常用的字符串操作函數(shù)函數(shù)原型函數(shù)說(shuō)明char*strcpy(char*s1
3、,constchar*s2)將字符串s2復(fù)制到字符數(shù)組s1中,返回s1的值char*strncpy(char*s1,constchar*s2,n)將字符串s2中最多n個(gè)字符復(fù)制到字符數(shù)組s1中,返回s1的值char*strcat(char*s1,constchar*s2)將字符串s2添加到字符串s1后面。s2的第一個(gè)字符覆蓋s1的NULL終止符。返回s1的值char*strncat(char*s1,constchar*s2,n)將字符串s2中最多n個(gè)字符添加到字符串s1后面。s2的第一個(gè)字符覆蓋s1的NU
4、LL終止符。返回s1的值intstrcmp(constchar*s1,constchar*s2)比較字符串s1與字符串s2。當(dāng)函數(shù)在s1等于、小于或大于s2時(shí),分別返回0、小于0或大于0的值intstrncmp(constchar*s1,constchar*s2,n)比較字符串sl中的前n個(gè)字符與字符串s2。當(dāng)函數(shù)在s1的前n個(gè)字符等于、小于或大于s2時(shí),分別返回0、小于0或大于0的值intstrlen(constchar*s)確定字符串長(zhǎng)度,返回NULL終止符之前的字符數(shù)strcpy(數(shù)組1,數(shù)組2)將
5、數(shù)組2復(fù)制到數(shù)組1中strcat(字符數(shù)組1,字符串2)將字符串2復(fù)制連接在字符數(shù)組1strcmp(字符串1,字符串2)比較兩字符串的大小,相等時(shí)返回0strupr(字符串)將字符串中小寫字母改為大寫的strlwr(字符串)將字符串中大寫字母改為小寫的strlen(字符串)求長(zhǎng)度3指針與字符串§使用字符數(shù)組的形式:charpString[]="IloveChina!";§直接用字符型指針的形式:char*cString="IloveChina!";§注意:(1)char*型指針變量可以在定義時(shí)進(jìn)行初始化,
6、其形式為char*指針變量名=“字符串”;(2)char*型的指針變量(或函數(shù)參數(shù))既可以用于接收字符串常量,也可以接收字符型數(shù)組。例如:charpString[]="IloveChina!";char*myString="Thisisastring.";myString=pString;4指向數(shù)組元素的指針§聲明與賦值例:inta[10],*pa;pa=&a[0];//或pa=a;§通過(guò)指針引用數(shù)組元素–經(jīng)過(guò)上述聲明及賦值后:*pa就是a[0],*(pa+1)就是a[1],...,*(pa+i)就是a[
7、i].a[i],*(pa+i),*(a+i)都是等效的。–不能寫a++,因?yàn)閍是數(shù)組首地址是常量。5在程序運(yùn)行過(guò)程中,值不能被改變的量稱為常量。常量分為:§整型常量:包括正整數(shù)、負(fù)整數(shù)和零其表示形式:十進(jìn)制、八進(jìn)制、十六進(jìn)制§實(shí)型常量:以文字形式出現(xiàn)的實(shí)數(shù),C++中實(shí)數(shù)就是浮點(diǎn)數(shù)其表示形式:一般形式指數(shù)形式§字符常量:用單引號(hào)括起來(lái)的一個(gè)字符§字符串常量:是用一對(duì)雙引號(hào)括起來(lái)的字符序列§布爾常量:只有兩個(gè)false(假)和true(真)例如:3,4.5,‘A’,”123”,false和true6常量定義格
8、式為:例如:constfloatpi=3.1415926;//正確constfloatPi;Pi=3.1415926;//錯(cuò)誤注意:定義常量的主要目的是防止在程序中對(duì)該值的改變。常量值在程序運(yùn)行過(guò)程中不允許改變,所以常量在定義時(shí)必須初始化。7數(shù)組的定義與使用數(shù)組是一個(gè)由多個(gè)同類型變量組成的集合<類型><數(shù)組名>[<常量表達(dá)式>][[<常量表達(dá)式>]…];說(shuō)明:(1)數(shù)組名必須是標(biāo)識(shí)符。數(shù)組名是一個(gè)常量,代表數(shù)組元素在內(nèi)存中的起