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