考点分析九指针.ppt

考点分析九指针.ppt

ID:48464485

大小:273.00 KB

页数:69页

时间:2020-01-18

考点分析九指针.ppt_第1页
考点分析九指针.ppt_第2页
考点分析九指针.ppt_第3页
考点分析九指针.ppt_第4页
考点分析九指针.ppt_第5页
资源描述:

《考点分析九指针.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、考点分析九指针1、地址和指针考点1、变量的地址和指针变量的基本概念机器的内存是以字节为单位的连续存储空间,每一个字节都有自己的编号,这些编号也是连续的。字节的编号就是“地址”。当定义一个变量的时候,编译系统会在内存中为变量分配存储空间,被分配的存储空间所对应的编号就是变量的地址。在c语言中,不仅可以定义整型变量、实型变量、字符型变量等,还可以定义一种特殊的变量,专门用来存放其它变量的地址,我们将它称为指针变量,简称指针。根据指针变量的值(这个值是一个地址),就可以访问其它的目标变量,*用来表示指针所指向的目标变量。考点2、指针变量的定义和赋值定义指针变量

2、的一般形式是:数据类型*指针变量名;说明:数据类型并不是指变量本身的类型,而是该变量所指向目标变量的类型。例如:int*p1;char*p2;p1p2这里存放的是一个整型变量的地址。这里存放的是一个字符型变量的地址给指针赋值有三种方法:1、使用地址运算符&:例如:inta=123;int*p1;p1=&a;2、将一个已具有具体指向的指针变量赋值给另一个指针变量。接上例:int*p2;p2=p1;说明:p1和p2同时指向变量a。3、为指针赋空值。可以通过语句p=NULL为指针变量p赋空值。考点3、通过指针变量引用存储单元当指针中存放了地址值时,可以通过指针

3、操作该地址中的数据。1、使用取地址运算符可以得到一个变量的地址:例如:inta;intscore[10]={80,95,90,65,75,70,70,80,98,43};(1)&a,&score[0]合法(2)&score非法(3)&(a+5)非法(4)&a=123;非法2、使用*运算符,间接存取指针所指向的目标变量的值。inta=123;int*p1;p1=&a;a=a+1;*p1=321;*p1=*p1+1;a=321;3、指针与整数相加减指针与整数相加减表示指针的移动。例如:p+np-np++p--++p--p其中n是整数。进行加法运算时,表示p向

4、地址增大的方向移动;进行减法运算时,表示p向地址减小的方向移动。移动的具体长度取决于指针的数据类型,由计算机自动确定。设p是指向type(type代表类型关键字)类型的指针,n是整型表达式,则p±n为一个新地址,其值为p±n×sizeof(type),即在p原有值的基础上增加或减少了n×sizeof(type)字节。4、两个同类型指针相减两个同类型的指针可以相减。如果两个指针之间所指向的目标变量数据类型相同(通常是数组的情况),则相减的结果是这两个指针之间所包含的数据个数。显然,两个指针相加是无意义的。注意:*与++、--运算符结合使用时,这两个运算符的

5、优先级相同,结合顺序是右结合性。因此,请区分++*p和*p++的运算顺序。2、指针变量与函数*考点4、指针变量作函数参数在函数的参数传递中,一种叫做传值调用,发生传值调用时,主调函数把实参的值复制一份传送给被调函数的行参,从而实现主调函数向被调函数传送数据。但是行参的变化不会影响时参发生变化。另一种叫传址调用,所谓地址调用就是在函数调用时,将实参数据的存储地址作为参数传递给行参。传址调用的特点是:行参和实参占用同样的内存单元,函数中对行参值的改变也会改变实参的值。因此,可实现主调函数与被调函数之间数据的双向传递。注意:由于行参和实参都必须是地址,通常将行

6、参定义为指针变量,当把变量的地址作为实参传递给行参指针时,指针指向的变量就是实参变量,从而实现数据的双向传递。例:利用函数调用交换两个整型变量的值:#includevoidmain(){voidswap(int*x,int*y);inta=10,b=20;printf(“%d,%d”,a,b);swap(&a,&b);printf(“%d,%d”,a,b);}voidswap(int*x,int*y){intt;t=*x;*x=*y;*y=t;}第一条printf语句输出10,20;第二条printf语句输出20,10。考点5、

7、指针作为函数返回值在C语言里,允许一个函数的返回值是一个指针(即地址),这种返回指针值的函数称为指针型函数。定义指针型函数的一般形式为:类型说明符*函数名(行参表){函数体语句;}其中:函数名前加了一个*号,表明这是一个指针型函数,即返回值是一个指针。类型说明符表示该指针指向的数据类型。考点6、指向函数的指针C语言规定,一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址。可以给函数的这个首地址赋予一个指针变量,使该指针指向该函数。然后通过指针变量调用该函数。把这种指向函数的指针变量称为“函数指针变量”。函数指针变量定义的一般形式为:其

8、中,类型说明符表示被指向函数的返回值类型,后面的参数表对应于被指向函数的行参。类

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。