《数据结构重点学习教案.pptx》由会员分享,可在线阅读,更多相关《数据结构重点学习教案.pptx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、会计学1数据结构数据结构(sh j ji u)重点重点第一页,共17页。第1页/共17页第二页,共17页。变量变量(binling)的访问:的访问:n n直接访问,直接利用变量的地址(dzh)进行存取。scanf(“%d”,&i)n n间接访问,通过该变量的指针来访问。printf(num=%dn,*i_pointer);第2页/共17页第三页,共17页。指针(zhzhn)变量的定义指针变量定义(dngy)的一般形式:类型标识符 *标识符“*”表示定义(dngy)指针变量“标识符”是指针变量名“类型标识符”表示该指针变量所指向的变量类型。第3页/共17页第四页,共17页。int i,j;/*定
2、义(dngy)两个整型变量*/int*pointer_1,*pointer_2;float*pointer_3;char*pointer_4;第4页/共17页第五页,共17页。指针变量(binling)的引用n n&:取地址(dzh)运算符。如&a为变量a的地址(dzh);n n*:指针运算符。如*p为指针变量p所指向的存储单元。第5页/共17页第六页,共17页。int i,j;int*pointer_1,*pointer_2;pointer_1=&i;pointer_2=&j;i=10;/直接访问*pointer_2=10;/通过(tnggu)指针第6页/共17页第七页,共17页。对程序(c
3、hngx)的说明int a;int*p;(未规定指向哪个未规定指向哪个变量变量)*p=100;int a;int*p;(未规定指向哪个未规定指向哪个变量变量)p=&a;(规定指向规定指向a)*p=100;这种种错误称称为访问悬挂指针(suspeded pointer)。第7页/共17页第八页,共17页。int a,b,c;int*p;/表示定义指针(zhzhn)p=&a;/为p指定初值*p=100;/表示指针(zhzhn)运算符/*给指针(zhzhn)p所指的变量赋值,这里是给变量a赋值*/c=a*b;/表示乘法运算符第8页/共17页第九页,共17页。指针变量(binling)加/减运算1、指
4、针变量(binling)加/减运算p+、p-、p+i、p-i、p+=i、p-=i加1表示指向下一个数据。第9页/共17页第十页,共17页。指针(zhzhn)变量赋值n np=&a;变量a的地址(dzh)赋给p,即指针p指向an np=array;数组array首地址(dzh)赋给pn np=&arrayi;数组元素arrayi的地址(dzh)赋给pn np1=p2;指针p2的值赋给指针p1,即p1,p2所指的数据相同第10页/共17页第十一页,共17页。C/C+:函数函数(hnsh)参数传递方参数传递方式式1.将变量名作为形参和实参在这种情况下传给形参的是变量的值。传递是单向的,即如果在执行函
5、数(hnsh)期间形参的值发生变化,并不传回给实参,这就是值传递方式。因为在调用函数(hnsh)期间,形参和实参不是同一个存储单元。第11页/共17页第十二页,共17页。void swap(int a,int b)void swap(int a,int b)/形参为整型变量形参为整型变量(binling)(binling)int temp;int temp;temp=a;a=b;b=temp;temp=a;a=b;b=temp;int main()int main()int i=3,j=4;int i=3,j=4;printf(i=%d,j=%dn,i,j);printf(i=%d,j=%dn
6、,i,j);swap(i,j);swap(i,j);/调用调用printf(i=%d,j=%dn,i,j);printf(i=%d,j=%dn,i,j);return 0;return 0;第12页/共17页第十三页,共17页。2.传递变量(binling)指针 形参是指针变量(binling),实参是一个变量(binling)的地址,调用函数时,形参(指针变量(binling))指向实参变量(binling)单元。第13页/共17页第十四页,共17页。void swap(int*p1,int*p2)void swap(int*p1,int*p2)/形参为整型指针变形参为整型指针变量量(bin
7、ling)(binling)int temp;int temp;temp=*p1;*p1=*p2;*p2=temp;temp=*p1;*p1=*p2;*p2=temp;int main()int main()int i=3,j=4;int i=3,j=4;printf(i=%d,j=%dn,i,j);printf(i=%d,j=%dn,i,j);swap(&i,&j);swap(&i,&j);/调用调用printf(i=%d,j=%dn,i,j);printf(i=%d,j=%dn,i,j);return 0;return 0;第14页/共17页第十五页,共17页。3.“引用(ynyng)形参
8、”第15页/共17页第十六页,共17页。void swap(int&a,int&b)/void swap(int&a,int&b)/形参为引用形参为引用(ynyng)(ynyng)类型类型 int temp;int temp;temp=a;a=b;b=temp;temp=a;a=b;b=temp;int main()int main()int i=3,j=4;int i=3,j=4;printf(i=%d,j=%dn,i,j);printf(i=%d,j=%dn,i,j);swap(i,j);swap(i,j);/调用调用printf(i=%d,j=%dn,i,j);printf(i=%d,j=%dn,i,j);return 0;return 0;第16页/共17页第十七页,共17页。