C++字符串與指針
在C++中可以用3種方法訪問一個字符串(在第5章介紹了前兩種方法)。
用字符數組存放一個字符串
【例】定義一個字符數組并初始化,然后輸出其中的字符串。
#include <iostream>using namespace std;int main( ){ char str[]="I love CHINA!"; cout<<str<<endl; return 0;}
運行時輸出:
I love CHINA!
用字符串變量存放字符串
【例】定義一個字符串變量并初始化,然后輸出其中的字符串。
#include <string>#include <iostream>using namespace std;int main( ){ string str="I love CHINA!"; cout<<str<<endl; return 0;}
用字符指針指向一個字符串
【例】定義一個字符指針變量并初始化,然后輸出它指向的字符串。
#include <iostream>using namespace std;int main( ){ char *str="I love CHINA!"; cout<<str<<endl; return 0;}
對字符串中字符的存取,可以用下標方法,也可以用指針方法。
【例】將字符串str1復制為字符串str2。
定義兩個字符數組str1和str2,再設兩個指針變量p1和p2,分別指向兩個字符數組中的有關字符,通過改變指針變量的值使它們指向字符串中的不同的字符,以實現字符的復制。
#include <iostream>using namespace std;int main( ){ char str1[]="I love CHINA!",str2[20],*p1,*p2; p1=str1;p2=str2; for(;*p1!='//0';p1++,p2++) *p2=*p1; *p2='//0'; p1=str1;p2=str2; cout<<"str1 is: "<<p1<<endl; cout<<"str2 is: "<<p2<<endl; return 0;}
運行結果為:
str1 is: I love CHINA!str2 is: I love CHINA!
這個例子用來說明怎樣使用字符指針。其實,對例6.13來說,用string變量來處理是十分簡單的:
string str1=″I love CHINA!″,str2; //定義string變量 str2=str1; //將str1復制到str2
C++數組與指針
指向數組元素的指針
一個變量有地址,一個數組包含若干元素,每個數組元素都在內存中占用存儲單元,它們都有相應的地址。指針變量既然可以指向變量,當然也可以指向數組元素(把某一元素的地址放到一個指針變量中)。所謂數組元素的指針就是數組元素的地址。
int a[10]; //定義一個整型數組a,它有10個元素 int *p; //定義一個基類型為整型的指針變量p p=&a[0]; //將元素a[0]的地址賦給指針變量p,使p指向a[0]
在C++中,數組名代表數組中第一個元素(即序號為0的元素)的地址。因此,下面兩個語句等價:
p=&a[0]; p=a;
在定義指針變量時可以給它賦初值:
int *p=&a[0]; //p的初值為a[0]的地址
也可以寫成
int *p=a; //作用與前一行相同
可以通過指針引用數組元素。假設p已定義為一個基類型為整型的指針變量,并已將一個整型數組元素的地址賦給了它,使它指向某一個數組元素。如果有以下賦值語句:
*p=1; //對p當前所指向的數組元素賦予數值1
如果指針變量p已指向數組中的一個元素,則p+1指向同一數組中的下一個元素。
如果p的初值為&a[0],則:
1) p+i和a+i就是a[i]的地址,或者說,它們指向a數組的第i個元素,見圖6.12。
2) *(p+i)或*(a+i)是p+i或a+i所指向的數組元素,即a[i]。
可以看出,[]實際上是變址運算符。對a[i]的求解過程是: 先按a+i×d計算數組元素的地址,然后找出此地址所指向的單元中的值。
3) 指向數組元素的指針變量也可以帶下標,如p[i]與*(p+i)等價。
根據以上敘述,引用一個數組元素,可用以下方法:
下標法,如a[i]形式;
指針法,如*(a+i)或*(p+i)。其中a是數組名,p是指向數組元素的指針變量。如果已使p的值為a,則*(p+i)就是a[i]??梢酝ㄟ^指向數組元素的指針找到所需的元素。使用指針法能使目標程序質量高。
【例】輸出數組中的全部元素。假設有一個整型數組a,有10個元素。要輸出各元素的值有3種方法:
1) 下標法。
#include <iostream>using namespace std;int main( ){ int a[10]; int i; for(i=0;i<10;i++) cin>>a[i]; //引用數組元素a[i] cout<<endl; for(i=0;i<10;i++) cout<<a[i]<<" "; //引用數組元素a[i] cout<<endl; return 0;}
運行情況如下:
9 8 7 6 5 4 3 2 1 0亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb www.99久久热国产日韩欧美.com| 亚洲精品国产电影| 国产日韩在线亚洲字幕中文| 中文字幕精品—区二区| 国产999精品| 国产精品成人av性教育| 孩xxxx性bbbb欧美| 国内精品久久久久| 国产日韩换脸av一区在线观看| 国产精品欧美日韩久久| 在线观看日韩av| 色狠狠久久aa北条麻妃| 久久青草福利网站| 欧美电影第一页| 国产99久久精品一区二区永久免费| 亚洲成成品网站| 久热精品视频在线| 日韩经典中文字幕| 国产精品国产三级国产专播精品人| 日韩成人av在线播放| 国产精品色婷婷视频| 国产成人精品电影久久久| 日韩在线观看视频免费| 精品亚洲永久免费精品| 91精品啪在线观看麻豆免费| 亚洲成人黄色在线观看| 668精品在线视频| 日韩成人小视频| 国产午夜精品免费一区二区三区| 91在线观看免费高清完整版在线观看| 亚洲永久在线观看| 亚洲精品国产精品自产a区红杏吧| 国产欧美精品日韩精品| 欧美在线欧美在线| 欧美超级免费视 在线| 国产精品一区二区三区在线播放| 欧美午夜片在线免费观看| 精品亚洲一区二区三区四区五区| 精品国产成人在线| 国产亚洲欧洲高清| 亚洲国产精品va在线| 欧美视频免费在线观看| 欧美中文字幕第一页| 欧美有码在线观看视频| 欧美性xxxxxxx| 中文字幕精品久久久久| 亚洲影院色在线观看免费| 中文字幕久久精品| 欧美激情奇米色| 亚洲xxxx18| 91chinesevideo永久地址| 亚洲欧美综合精品久久成人| 色综合五月天导航| 日韩欧美国产成人| 国产精品福利片| 成人免费在线视频网站| xxxx欧美18另类的高清| 久久精品视频导航| 国内精品免费午夜毛片| 91色视频在线导航| 深夜精品寂寞黄网站在线观看| 日韩在线播放视频| 中日韩美女免费视频网址在线观看| 欧美成人激情视频| 色综合天天综合网国产成人网| 亚洲一区二区中文| 国产999精品视频| 亚洲第一网站免费视频| 欧美激情精品久久久久久黑人| 欧美激情第一页xxx| 久久久久999| 亚洲无限乱码一二三四麻| 成人在线免费观看视视频| 亚洲国产精品久久久久久| 久久久久这里只有精品| 97人人做人人爱| 日韩免费av在线| 国产成人亚洲综合91| 久久久亚洲国产天美传媒修理工| 日韩av手机在线看| 久久久噜噜噜久久中文字免| 久久久久久高潮国产精品视| 日韩在线免费视频| 久久久精品免费视频| 久久亚洲电影天堂| 日韩人体视频一二区| 色偷偷偷综合中文字幕;dd| 日韩美女视频在线观看| 色婷婷综合久久久久| 亚洲女人天堂色在线7777| 亚洲一区二区三区毛片| 欧美午夜www高清视频| 国产99视频精品免视看7| 欧美激情精品久久久久久蜜臀| 亚洲香蕉成视频在线观看| 亚洲老头老太hd| 久久久国产成人精品| 日韩精品欧美国产精品忘忧草| 亚洲国产毛片完整版| 国产专区欧美专区| 91九色单男在线观看| 亚洲天堂av图片| 中文字幕精品www乱入免费视频| 亚洲精品自在久久| 欧美成人免费全部| 亚洲成人999| 国产欧美日韩亚洲精品| 日韩中文字幕第一页| 中文字幕在线看视频国产欧美| 欧美一区深夜视频| 国产精品一区二区三区在线播放| 精品少妇v888av| 国产欧美精品一区二区三区介绍| 正在播放国产一区| 亚洲精品久久久久久久久| 久久精品国产亚洲7777| www.日韩av.com| 26uuu亚洲伊人春色| 91日韩在线播放| 黑人极品videos精品欧美裸| 欧美日韩高清在线观看| 日韩一中文字幕| 国模精品视频一区二区| 精品爽片免费看久久| 91免费福利视频| 69av在线视频| 国产精品久久91| 欧美日本中文字幕| 秋霞成人午夜鲁丝一区二区三区| 自拍亚洲一区欧美另类| 91丝袜美腿美女视频网站| 欧美第一淫aaasss性| 国产剧情日韩欧美| 国产成人福利网站| 精品偷拍各种wc美女嘘嘘| 精品动漫一区二区三区| 欧美国产第一页| 欧美日本在线视频中文字字幕| 欧美亚洲成人免费| 精品欧美国产一区二区三区| 91av在线免费观看视频| 亚洲欧洲美洲在线综合| 影音先锋欧美在线资源| 国产精品麻豆va在线播放| 国产亚洲一区二区精品| 九九久久综合网站| 韩国精品美女www爽爽爽视频| 国产精品69久久| 亚洲尤物视频网| 中文字幕无线精品亚洲乱码一区| 欧美另类老肥妇| 国产亚洲精品久久久久久牛牛| 亚洲色在线视频| 亚洲欧美激情一区| 91国自产精品中文字幕亚洲| 日韩欧美国产免费播放| 日韩精品中文字幕在线播放| 久久久国产精品免费| 国产成人精品免费视频| 亚洲伊人一本大道中文字幕| 欧美激情视频播放| 日韩免费电影在线观看| 亚洲电影成人av99爱色| 成人激情春色网|