資源描述:
《數(shù)組指針和字符串課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、C++語言程序設(shè)計(jì)基礎(chǔ)第6章數(shù)組、指針和字符串6.1數(shù)組6.2指針6.3動(dòng)態(tài)內(nèi)存分配6.4用vector創(chuàng)建數(shù)組對(duì)象6.5深復(fù)制和淺復(fù)制6.6字符串6.1數(shù)組1、一維數(shù)組<數(shù)據(jù)類型><數(shù)組名>[<表達(dá)式>];inta[3+2];charb[3];constintSIZE=10;intm[SIZE];數(shù)組元素的表示:<數(shù)組名>[<下標(biāo)>]<下標(biāo)>為常量表達(dá)式;從0開始;各個(gè)元素在內(nèi)存中按其下標(biāo)的升序順序連續(xù)存放數(shù)組元素的初始化inta[3]={1,2,3},b[4]={6,7},c[2];多維數(shù)組<類型><數(shù)組名>[<大小1>][<大小2>]…;in
2、ta[3][4];doubleb[2][3][4];數(shù)組元素的表示<數(shù)組名>[<下標(biāo)1>][<下標(biāo)2>]…各個(gè)元素在內(nèi)存中連續(xù)存放數(shù)組元素的初始化intd[2][3]={{1,2,3},{4,5,6}};intd[2][3]={1,2,3,4,5,6};inta[2][3]={{1},{2,3}};思考123456789101112a[0][0]a[1][0]a[2][0]a[0][0]a[0][1]a[0][2]a[0][3]a[2][0]a[2][1]a[2][2]a[2][3]123456789101112a[2][3]a[0][0]練習(xí):a
3、[i][j]是二維數(shù)組中的第幾個(gè)元素?二維數(shù)組a[3][4]6.1.3數(shù)組作為函數(shù)參數(shù)voidfun(intb[],intn){for(inti=0;i4、ntDate();對(duì)象數(shù)組的初始化CDatea[2]={CDate(2050,10,1),CDate(2050,10,2)};CDatea[2];a[0]=CDate(2050,10,1);a[1]=CDate(2050,10,2);6.2指針6.2.1內(nèi)存空間的訪問方式聲明變量,分配內(nèi)存指針是變量在內(nèi)存中起始地址變量的地址:&變量名例題doublex=-69.1;注:實(shí)際應(yīng)用中更多的是通過&引用變量的指針,而很少關(guān)心指針的實(shí)際值內(nèi)存用戶數(shù)據(jù)區(qū)xpx-69.1…0x0012fe800x0012fe800x1212ef126.2.2指針變量的聲明<存
5、儲(chǔ)類型><數(shù)據(jù)類型>*<指針變量名>;指針聲明時(shí)指定的數(shù)據(jù)類型是指針?biāo)赶蚰繕?biāo)的數(shù)據(jù)類型一個(gè)指針變量只能指向數(shù)據(jù)類型指定的同一類型的變量*表示變量為指針變量指針變量在使用前一定要先賦值后使用char*pName;int*px;6.2.4指針的賦值<數(shù)據(jù)類型>*<指針變量名>=<地址量>;inta=1,*p1=&a,*p2=p1;inta=1,*p1,*p2;p1=&a;//賦給同類型的變量地址值p2=p1;//賦給同類型的指針變量的值*p1=2;//給p1所指向的變量賦值*p2=3;//給p2所指向的變量賦值p1a*p1*p2p2.1236.2.5
6、指針運(yùn)算一個(gè)指針可以加或減一個(gè)整數(shù)ndoublea[10],*p=a;//p指向a[0]p=p+3;//p指向a[3]p--;6.2.6用指針處理數(shù)組元素//統(tǒng)計(jì)輸入字符串的字符個(gè)數(shù)intmain(){charstr[20],*pc=str;cout<<"Pleaseinputstring:";cin>>pc;while(*pc!=0)pc++;cout<<"ThestringLength:"<7、oatx,int*intPart,float*fracPart){*intPart=static_cast(x);//取x的整數(shù)部分*fracPart=x-*intPart;//取x的小數(shù)部分}6.2.11對(duì)象指針1.對(duì)象指針的一般概念<類類型名>*<對(duì)象指針名>;CDated,*pd;pd=&d;(*pd).y<=>pd->y(*pd).SetDate(2012,8,8)<=>pd->SetDate(2012,8,8)2.this指針this是一個(gè)隱含于每一個(gè)類內(nèi)非靜態(tài)成員函數(shù)中的特殊指針用于指向正在操作該成員函數(shù)的對(duì)象this是指向自
8、己的指針*this就是自己classM{public:M(){a=b=0;}M(inti,intj){a=i;b=j;}v