您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 北邮课件--C++(3)
C++(3)TangXiaoshengBeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn!!!’!!!void’!!BeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn5.1!TT*T’T*’T’’!’dereference’(’)*charc=‘a’;char*p=&c;//pc’charc=‘a’;char*p=&c;charc2=*p;//c2=‘a’;BeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn!0’’!00!CNULL0C++0constintNULL=0;BeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn5.2!TT[size]sizeT’0size-1!’!’floatv[3];//v[0],v[1],v[2]char*a[32];//32char’//a[0]…a[31]voidf(inti){intv1[i];//Errorvectorintv2(i);}intd2[10][20];intbad[2,5];//ErrorBeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn5.2.1intv1[]={1,2,3,4};//Size=4charv2[]={‘a’,‘b’,‘c’,0};//Size=4charv3[2]={‘a’,‘b’,0};//Errorcharv4[3]={‘a’,‘b’,0};//okintv5[8]={1,2,3,4};“intv5[8]={1,2,3,4,0,0,0,0};“’voidf(){v4={‘c’,‘d’,0};//Error}vectorvalarrayBeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn5.2.2!’!’”’\0’’0!sizeof(“test”)=5strlen(“test”)=4!’’const’test”’constchar[5]’!char*BeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cnvoidf(){char*p=“Plato”;p[3]=‘e’;//Error:}voidf2(){charp[]=“Zeno”;p[0]=‘R’;//ok}constchar*error_msg(){//…return“rangeerror”;}//okconstchar*p=“Heraclitus”;constchar*q=“Heraclitus”;voidg(){if(p==q)cout“One!”;//…}//BeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn’charstr[]=“thisisatwolinesstring”;//Errorcharstr[]=“thisisatwo\nlinesstring”;charalpha[]=“abcdefghijklmn”“opqrstuvwxyz”;charalpha[]=“abcdefghijklmnopqrstuvwxyz”;charstr[]=“Jers\000Munk”;//\0’‘BeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn5.3’!’’!’’!’’(C’)’vectorstringBeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cnintv[]={1,2,3,4};int*p1=v;int*p2=&v[0];int*p3=&v[4];//’extern“C”intstrlen(constchar*);//string.hvoidf(){charv[]=“Annemarie”;char*p=v;//char[]char*strlen(p);strlen(v);//char[]char*v=p;//Error:}BeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn5.3.1voidfi(charv[]){for(inti=0;v[i]!=0;i++)use(v[i]);}voidfi(charv[]){for(char*p=v;*p!=0;p++)use(v[i]);}’(char’)BeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn#includeiostreamintmain(){intvi[10];shortvs[10];std::cout&vi[0]‘‘&vi[1]std::endl;std::cout&vs[0]‘‘&vs[1]std::endl;}0x7fffaef00x7fffaef40x7fffaedc0x7fffaedeBeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn’!T*p;!p++“pT’’pp++’sizeof(T)!’“()!“’BeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cnvoidf(){intv1[10];intv2[10];inti1=&v1[5]-&v1[3];//i1=2inti2=&v1[5]-&v2[3];//int*p1=v2+2;//p1=&v2[2]int*p2=v2-2;//p2}BeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn5.4!const’!’’’BeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cnconstintmodel=90;constintv[]={1,2,3,4};constintx;//Errorvoidf(){model=200;//Errorv[2]++;//Error}voidg(constX*p){//*p}voidh(){Xval;//valg(&val);//ok//…}’(magicnumbers)BeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn5.4.1!’!*constconstBeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn(1)voidf1(char*p){chars[]=“Gorm”;constchar*pc=s;//pc[3]=‘g’;//Errorpc=p;//okchar*constcp=s;//cp[3]=‘a’;//okcp=p;//Errorconstchar*constcpc=s;cpc[3]=‘a’;//Errorcpc=p;//Error}char*constcp;//char’constcharconst*pc;//constchar’constchar*pc2;//constchar’constcpconstcharpc2constcharBeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn(2)char*strcpy(char*p,constchar*q);//conststrcpy’*q’’’’’voidf4(){inta=1;constintc=2;constint*p1=&c;//okconstint*p2=&a;//okint*p3=&c;//Error*p3=7;//Error}BeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn5.5!’’’’!X&X’!’()!’’()BeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cnvoidf(){inti=1;int&r=i;//riintintx=r;//x=1r=2;//i=2}inti=1;int&r1=i;//okint&r2;//Errorexternint&r3;//okr3voidg(){intii=0;int&rr=ii;rr++;//ii1int*pp=&rr;//ppii}voidincrement(int&aa){aa++;}voidf(){intx=1;increment(x);//x=2}BeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn’’“’intnext(intp){returnp+1;}voidincr(int*p){(*p)++;}voidg(){intx=1;increment(x);//x=2x=next(x);//x=3incr(&x);//x=4}’double&dr=1;//Error,cannotconvertfromconstinttodouble&constdouble&cdr=1;//okBeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn5.6void’!’()void*’!void*void*!void*“!void*!’!void*’’’’’BeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cnvoid*voidf(int*pi){void*pv=pi;//ok*pv;//Errorpv++;//Errorint*pi2=static_castint*(pv);//okdouble*pd1=pv;//Errordouble*pd2=pi;//Errordouble*pd3=static_castdouble*(pv);//}BeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn5.7!“’’struct()’!’’’’’BeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn(1)structaddress{char*name;longintnumber;//4byteschar*street;char*town;charstate[2];longzip;};//sizeof(address)24addressjd;jd.name=“JimDandy”;jd.number=61;addressjd={“JimDandy”,61,“SouthSt”,“NewProvidence”,{‘N’,‘J’},7974};address*p;…coutp-name;coutp-number;p-name(*p).nameBeijingUniversityofPosts&Telecommunicationsyoung@buptnet.edu.cn(2)!’””’structL
本文标题:北邮课件--C++(3)
链接地址:https://www.777doc.com/doc-4043494 .html