亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

深入解析C++中的字符數(shù)組和處理字符串的方法

2020-05-23 14:14:44
字體:
供稿:網(wǎng)友
這篇文章主要介紹了深入解析C++中的字符數(shù)組和處理字符串的方法,需要的朋友可以參考下
 

C++字符數(shù)組
用來存放字符數(shù)據(jù)的數(shù)組是字符數(shù)組,字符數(shù)組中的一個(gè)元素存放一個(gè)字符。字符數(shù)組具有數(shù)組的共同屬性。由于字符串應(yīng)用廣泛,C和C++專門為它提供了許多方便的用法和函數(shù)。
字符數(shù)組的定義和初始化

定義字符數(shù)組的方法與前面介紹的類似。例如:
 

  1. char c[10]; 
  2. c[0]=′I′;c[1]=′ ′;c[2]=′a′;c[3]=′m′;c[4]=′ ′;c[5]=′h′;c[6]=′a′;c[7]=′p′;c[8]=′p′;c[9]=′y′; 
?

上面定義了c為字符數(shù)組,包含10個(gè)元素。在賦值以后數(shù)組的狀態(tài)如圖所示。

深入解析C++中的字符數(shù)組和處理字符串的方法
對(duì)字符數(shù)組進(jìn)行初始化,最容易理解的方式是逐個(gè)字符賦給數(shù)組中各元素。如

?
  1. char c[10]={'I',' ','a','m',' ','h','a','p','p','y'}; 

把10個(gè)字符分別賦給c[0]~c[9]這10個(gè)元素。

如果花括號(hào)中提供的初值個(gè)數(shù)大于數(shù)組長度,則按語法錯(cuò)誤處理。如果初值個(gè)數(shù)小于數(shù)組長度,則只將這些字符賦給數(shù)組中前面那些元素,其余的元素自動(dòng)定為空字符。如果提供的初值個(gè)數(shù)與預(yù)定的數(shù)組長度相同,在定義時(shí)可以省略數(shù)組長度,系統(tǒng)會(huì)自動(dòng)根據(jù)初值個(gè)數(shù)確定數(shù)組長度。如:

?
  1. char c[]={'I',' ','a','m',' ','h','a','p','p','y'}; 


也可以定義和初始化一個(gè)二維字符數(shù)組,如
   

復(fù)制代碼代碼如下:
char diamond[5][5]={{' ',' ','*'},{' ', '*',' ','*'},{'*',' ',' ',' ','*'},{' ','*',' ','*'},{' ',' ','*'}};

字符數(shù)組的賦值與引用

 

只能對(duì)字符數(shù)組的元素賦值,而不能用賦值語句對(duì)整個(gè)數(shù)組賦值。如:
 

  1. char c[5]; 
  2. c={'C','h','i','n','a'}; //錯(cuò)誤,不能對(duì)整個(gè)數(shù)組一次賦值 
  3. c[0]='C'; c[1]='h';c[2]='i';c[3]='n';c[4]='a'//對(duì)數(shù)組元素賦值,正確 
?

如果已定義了a和b是具有相同類型和長度的數(shù)組,且b數(shù)組已被初始化,請(qǐng)分析:
 

  1. a=b; //錯(cuò)誤,不能對(duì)整個(gè)數(shù)組整體賦值 
  2. a[0]=b[0]; //正確,引用數(shù)組元素 
?

【例】設(shè)計(jì)和輸出一個(gè)鉆石圖形。
 

  1. #include <iostream> 
  2. using namespace std; 
  3. void main( ) 
  4.   char diamond[][5]={{' ',' ','*'},{' ','*',' ','*'},{'*',' ',' ',' ','*'},{' ','*',' ','*'},{' ',' ','*'}}; 
  5.   int i,j; 
  6.   for (i=0;i<5;i++) 
  7.   { 
  8.    for (j=0;j<5;j++) 
  9.    cout<<diamond[i][j]; //逐個(gè)引用數(shù)組元素,每次輸出一個(gè)字符 
  10.    cout<<endl; 
  11.   } 
?

深入解析C++中的字符數(shù)組和處理字符串的方法

C++處理字符串的方法—字符串類與字符串變量
用字符數(shù)組來存放字符串并不是最理想和最安全的方法。

C++提供了一種新的數(shù)據(jù)類型——字符串類型(string類型),在使用方法上,它和char、int類型一樣,可以用來定義變量,這就是字符串變量——用一個(gè)名字代表一個(gè)字符序列。

實(shí)際上,string并不是C++語言本身具有的基本類型,它是在C++標(biāo)準(zhǔn)庫中聲明的一個(gè)字符串類,用這種類可以定義對(duì)象。每一個(gè)字符串變量都是string類的一個(gè)對(duì)象。
字符串變量的定義和引用

1) 定義字符串變量
和其他類型變量一樣,字符串變量必須先定義后使用,定義字符串變量要用類名string。如:
 

  1. string string1; //定義string1為字符串變量 
  2. string string2=″China″; //定義string2同時(shí)對(duì)其初始化 
?

應(yīng)當(dāng)注意:要使用string類的功能時(shí),必須在本文件的開頭將C++標(biāo)準(zhǔn)庫中的string頭文件包含進(jìn)來,即應(yīng)加上
 

  1. #include <string> //注意頭文件名不是string.h 
?

2) 對(duì)字符串變量的賦值
在定義了字符串變量后,可以用賦值語句對(duì)它賦予一個(gè)字符串常量,如:

  1. string1=″Canada″; 


既可以用字符串常量給字符串變量賦值,也可以用一個(gè)字符串變量給另一個(gè)字符串變量賦值。如:

?
  1. string2=string1; //假設(shè)string2和string1均已定義為字符串變量 


不要求string2和string1長度相同,假如string2原來是″China″,string1原來是″Canada″,賦值后string2也變成″Canada″。在定義字符串變量時(shí)不需指定長度,長度隨其中的字符串長度而改變。

可以對(duì)字符串變量中某一字符進(jìn)行操作,如:
 

  1. string word=″Then″; //定義并初始化字符串變量word 
  2. word[2]=′a′; //修改序號(hào)為2的字符,修改后word的值為″Than″ 
?

3) 字符串變量的輸入輸出
可以在輸入輸出語句中用字符串變量名,輸入輸出字符串,如:

?
  1. cin>> string1; //從鍵盤輸入一個(gè)字符串給字符串變量string1 
  2. cout<< string2; //將字符串string2輸出 


字符串變量的運(yùn)算

在上一節(jié)中可以看到: 在以字符數(shù)組存放字符串時(shí),字符串的運(yùn)算要用字符串函數(shù),如strcat(連接)、strcmp(比較)、strcpy(復(fù)制),而對(duì)string類對(duì)象,可以不用這些函數(shù),而直接用簡單的運(yùn)算符。

1) 字符串復(fù)制用賦值號(hào)
 

  1. string1=string2; 
?

其作用與“strcpy(string1,string2);”相同。

2) 字符串連接用加號(hào)

?
  1. string string1=″C++″; //定義string1并賦初值 
  2. string string2=″Language″;//定義string2并賦初值 
  3. string1=string1 + string2;//連接string1和string2 


連接后string1為″C++ Language″。

3) 字符串比較直接用關(guān)系運(yùn)算符
可以直接用 ==(等于)、>(大于)、<(小于)、!=(不等于)、>=(大于或等于)、<=(小于或等于)等關(guān)系運(yùn)算符來進(jìn)行字符串的比較。
字符串?dāng)?shù)組

不僅可以用string定義字符串變量,也可以用string定義字符串?dāng)?shù)組。如:
 

  1. string name[5]; //定義一個(gè)字符串?dāng)?shù)組,它包含5個(gè)字符串元素 
  2. string name[5]={″Zhang″, ″Li″, ″Fun″, ″Wang″, ″Tan″}; //定義一個(gè)字符串?dāng)?shù)組并初始化 
?

此時(shí)name數(shù)組的狀況如圖所示。

深入解析C++中的字符數(shù)組和處理字符串的方法
關(guān)于字符串?dāng)?shù)組的幾點(diǎn)說明:
在一個(gè)字符串?dāng)?shù)組中包含若干個(gè)(現(xiàn)為5個(gè))元素,每個(gè)元素相當(dāng)于一個(gè)字符串變量。
并不要求每個(gè)字符串元素具有相同的長度,即使對(duì)同一個(gè)元素而言,它的長度也是可以變化的,當(dāng)向某一個(gè)元素重新賦值,其長度就可能發(fā)生變化。
在字符串?dāng)?shù)組的每一個(gè)元素中存放一個(gè)字符串,而不是一個(gè)字符,這是字符串?dāng)?shù)組與字符數(shù)組的區(qū)別。如果用字符數(shù)組存放字符串,一個(gè)元素只能存放一個(gè)字符,用一個(gè)一維字符數(shù)組存放一個(gè)字符串。
每一個(gè)字符串元素中只包含字符串本身的字符而不包括′/0′。

可見用字符串?dāng)?shù)組存放字符串以及對(duì)字符串進(jìn)行處理是很方便的。

在定義字符串?dāng)?shù)組時(shí)怎樣給數(shù)組分配存儲(chǔ)空間呢?實(shí)際上,編譯系統(tǒng)為每一個(gè)字符串變量分配4個(gè)字節(jié),在這個(gè)存儲(chǔ)單元中,并不是直接存放字符串本身,而是存放字符串的地址。在本例中,就是把字符串″Zhang″的地址存放在name[0],把字符串″Li″ 的地址存放在name[1],把字符串″Fun″的地址存放在name[2]……上只是一個(gè)示意圖。在字符串變量中存放的是字符串的指針(字符串的地址)。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产一区二区在线| 久久久久久久伊人| 色婷婷粉嫩av| 欧美一区二区三区视频在线| 中国女人内谢69xxxx视频| 手机在线视频一区| 国产亚洲久一区二区| 国产精品女上位| 欧美一个色资源| 久久综合网色—综合色88| 久久免费看少妇高潮v片特黄| 韩国欧美一区二区| 这里只有精品免费| 欧美天天综合色影久久精品| 亚洲色图日韩精品| 人成福利视频在线观看| 91传媒视频在线观看| 亚洲一区一卡| 亚洲女同女同女同女同女同69| 一级黄色免费视频| 中日韩一区二区三区| 欧美三级电影一区二区三区| 国产亚洲一级| 女人高潮被爽到呻吟在线观看| 久久国产精品网| 日韩欧美www| 丝袜中文在线| 久草视频视频在线播放| 日韩免费高清在线| 亚洲国产成人不卡| 成人做爰视频网站| 91在线精品秘密一区二区| 看电视剧不卡顿的网站| 992tv在线观看免费进| 麻豆乱码国产一区二区三区| 在线观看一区二区精品视频| √资源天堂中文在线| 精品人妻一区二区三区三区四区| 蜜臀久久99精品久久久久久宅男| 老鸭窝一区二区久久精品| 成人资源在线播放| 黄色a级片在线观看| 日本人妻丰满熟妇久久久久久| 免费在线观看日韩欧美| 国产自产v一区二区三区c| 久久婷婷人人澡人人喊人人爽| 日韩精品久久久久久福利| 欧美一区二区日韩一区二区| 欧美日韩免费观看一区=区三区| 国产精品久久久久久久免费软件| 亚洲欧美自拍另类| 美女性感视频久久| 欧美激情视频一区二区| 日韩欧美在线播放| 午夜欧美一区二区三区免费观看| 国产在线拍揄自揄拍| 欧美国产激情视频| 四虎国产精品成人免费入口| 18成人在线视频| www.国产一区二区| 欧美人善交videosg| 日韩电影免费观看高清完整版在线观看| 91尤物视频在线观看| 欧美午夜视频在线| 亚洲小说春色综合另类网蜜桃| 野花国产精品入口| 最新国产成人av网站网址麻豆| 囯产精品久久久久久| 一区二区国产日产| 国产直播在线| 国产在线视频不卡二| 国产婷婷精品av在线| 欧美中文字幕精在线不卡| 欧美精品色综合| 日本中文字幕在线观看视频| 国产乱视频在线观看| 日韩av免费| 亚洲三级在线免费| 欧美性感一类影片在线播放| 久久国产精品波多野结衣av| 日韩欧美国产精品一区二区三区| 精品国产免费人成电影在线观...| 亚洲视频在线一区二区| 日韩欧美www| 欧美视频中文字幕在线| 国产日产精品久久久久久婷婷| 欧美r片在线| 91桃色在线| 国产男女猛烈无遮挡免费视频| 紧缚捆绑精品一区二区| 99视频免费观看蜜桃视频| 黄色成人av网站| 欧美另类极品| 亚洲国产精品无码久久| 亚洲成av人片在线观看www| av片在线免费观看| 99久久99久久精品国产片果冻| 欧美日韩久久久久| 国产z一区二区三区| 五月婷婷视频在线观看| 成人黄色片在线| 中文字幕在线一区二区三区| 中文字幕在线亚洲精品| www.天天干.com| 国产九九九视频| www.综合色| 国产黄色三级网站| 天天操天天摸天天干| 亚洲天堂网站在线| 伊人久久久久久久久久久久久| 久久久久久久999| 日韩一级特黄毛片| 99精品国产在热久久| 国产香蕉精品| 青青操国产视频| 免费午夜一级| 国产在线黄色| 国产乱女淫av麻豆国产| 亚洲综合丁香婷婷六月香| 精品人人视频| 看国产成人h片视频| 国产女人aaa级久久久级| 亚洲伊人色欲综合网| 野花国产精品入口| 欧美洲成人男女午夜视频| 蜜桃视频在线观看一区二区| 一级黄色片在线观看| 欧美xxxhd| 亚洲精品短视频| 欧美成人三级在线观看| 国产精品一品二品| 蜜桃视频无码区在线观看| 成人免费网视频| 毛葺葺老太做受视频| 美女视频亚洲色图| 一区二区三区亚洲| 色8久久精品久久久久久蜜| 九九热视频免费| 狂野欧美一区| 欧美午夜www高清视频| 久久无码高潮喷水| 中文字幕一区二区久久人妻| 日韩高清专区| 我想看黄色大片| 欧美日韩 国产精品| 久久亚洲AV成人无码国产野外| 日本乱人伦a精品| 国产精品久久久一区麻豆最新章节| 精品人妻无码一区二区色欲产成人| 一本一道波多野毛片中文在线| 国产草草影院ccyycom| 亚洲 小说 欧美 激情 另类| 国内精品免费视频精选在线观看| 中文字幕亚洲综合久久筱田步美| 都市激情国产精品| 狠狠色噜噜狠狠狠狠8888| 亚洲精品五月天| 香蕉视频国产精品| av网站在线免费观看| 亚洲午夜激情| 国产精品电影在线观看| 亚洲日本黄色| 欧美乱大交做爰xxxⅹ小说| 天天色天天操天天做| av一区二区高清| 强伦人妻一区二区三区| 在线视频精品| 亚洲美女久久| 波多野结衣在线aⅴ中文字幕不卡| jizzjizzjizzjizz日本老师| 2018高清国产日本一道国产| 国产一区二区黑人欧美xxxx| 欧美视频四区| 国产毛片毛片毛片毛片毛片| 欧美美女操人视频| 韩国自拍一区| 成人18免费入口| 日韩国产精品亚洲а∨天堂免| 午夜精品爽啪视频| 精品国产aⅴ一区二区三区东京热| 久久激情网站| 欧美成人bangbros| 91成人一区二区三区| 日本特黄a级片| 欧美高清在线视频| 欧美91精品久久久久国产性生爱| 网站一区二区三区| 9999精品成人免费毛片在线看| 高清免费电影在线观看| 国精产品一区一区三区有限在线| 亚洲欧美自拍偷拍色图| 大黄网站在线观看| 日日狠狠久久偷偷四色综合免费| 日韩女同互慰一区二区| 蜜臀在线免费观看| 潘金莲一级淫片aaaaaa播放1| 国内精品久久久久影院 日本资源| 欧美日韩国产首页| 欧美色图天堂| 人人在草线视频在线观看| 国产h视频在线观看| 精品一区二区成人精品| 视频一区二区免费| 黄色片视频在线播放| 美女大黄三级视频在线观看| 久久亚洲图片| 成人午夜在线观看视频| 亚洲一道本在线| www.香蕉视频在线观看| 最近中文字幕一区二区三区| 无码人妻精品一区二区三区99v| 2019最新中文字幕| 亚洲大尺度视频在线观看| 欧美日韩激情电影| 国产精品亚洲第一| 精品视频www| 日日摸天天爽天天爽视频| 日本中文字幕伦在线观看| 亚洲精品国产欧美在线观看| av不卡在线看| 成人在线观看www| 国产精品久久久久一区二区三区| 色婷婷香蕉在线一区二区| xxxxxxxxx欧美| 91久久综合| 影音先锋在线资源中文字幕| 国产高清一区二区三区四区| 九色免费视频| 欧美主播一区二区三区美女 久久精品人| 亚洲黄色免费| 欧美一级免费| 欧日韩不卡视频| 蜜桃视频在线观看一区| 色综合久久久久久| 91在线码无精品| 午夜色在线观看| 暧暧视频免费| 国产精品一区二区无码对白| 亚洲欧洲日夜超级视频| 国产1区2区| 欧美区在线播放| 国产99久久久| 免费一级欧美在线大片| 99在线视频免费观看| 最近中文字幕在线6| 久久久久久免费看| 亚洲高潮女人毛茸茸| 久久久久这里只有精品| 亚洲精品日产精品乱码不卡| 国内精品久久久久久久影视简单| 口述被爽到呻吟高潮自述| 欧美精品在欧美一区二区少妇| 日韩成人在线免费观看| 国产精品日韩欧美一区| 红桃视频一区二区三区免费| 99产精品成人啪免费网站| 三级网站免费看| 美女扒开内裤让男人桶| 色综合手机在线| 久久亚洲色图| 亚洲国产综合久久精品小蝴蝶| 国产精品h在线观看| 国模一区二区三区| 欧美大片aaa| 亚洲视屏一区| 欧美私人网站| 猛男gaygay欧美视频| 欧美日韩免费观看中文| 中文字幕第二区| 999免费视频| 欧美肉大捧一进一出免费视频| 国产又黄又猛又粗又爽的视频| 国产日韩欧美一区二区三区视频| 国产丶欧美丶日本不卡视频| 亚洲国产精品国自产拍久久| 男生裸体视频网站| 免费日韩av电影| 亚洲欧美一区二区三区久久| 亚洲影影院av| 日韩免费观看高清完整版在线观看| 超碰在线97免费| 川上优的av在线一区二区| 欧美美女bb生活片| www.久久东京| 成人精品高清在线| 精品国产电影一区| 欧洲伦理片一区 二区 三区| 在线看视频你懂的| 中出福利视频| 91美女免费看| 国产美女精彩久久| 另类欧美小说| 国产九九在线| 狠狠干成人综合网| av日韩一区二区三区| 欧美成人首页| 超薄肉色丝袜脚交一区二区| 91精品国产乱码久久久久久久| 国产精品国产三级国产aⅴ中文| 国产高清不卡| 日本一区不卡| a级在线观看视频| 亚洲国产中文在线| 人人超碰91尤物精品国产| 国产又粗又爽又黄的视频| 杨钰莹一级淫片aaaaaa播放| 国产又粗又长又大的视频| 久久久久成人片免费观看蜜芽| 中文字幕综合一区| 91极品视觉盛宴| 综合网在线观看| www国产亚洲精品久久麻豆| 超碰超碰在线| 国产一区二区三区不卡在线| 免费观看国产精品视频| av在线收看| 在线观看黄网| 99热最新网址| 99精品国产在热久久婷婷| 欧美日韩午夜在线| 午夜av区久久| 久久亚洲精精品中文字幕早川悠里| 国产成人免费91av在线| 国产夫妻在线观看| 国产精品nxnn| 欧美日韩国产美女| 亚洲一区二区三区自拍| 亚洲一区二区电影|