程序设计课件-指针

程序设计课件-指针

ID:38552889

大小:292.00 KB

页数:71页

时间:2019-06-14

程序设计课件-指针_第1页
程序设计课件-指针_第2页
程序设计课件-指针_第3页
程序设计课件-指针_第4页
程序设计课件-指针_第5页
资源描述:

《程序设计课件-指针》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、指针目录地址和指针的概念变量的指针和指向变量的指针变量数组与指针字符串与指针指向函数的指针返回指针值的函数指向数组和指向指针的指针指针的数据类型和指针运算小结指针的概念指针是C语言的一个重要概念,也是C语言的一个重要特色。深刻理解和正确使用指针是学习本章的基本要求。一、地址在计算机中,把内存区划分为一个一个的存储单元,每个单元为一个字节(8位),它们都有一个编号,这个编号就是内存地址。如下图所示:注意:1、程序中定义的每个变量在编译后都占有各自的内存区,系统通过内存地址对变量进行存取。2、数据所占有的存储单元个数是由其类型决定的。3、首地址:第1个单元的地

2、址4、表示地址的数与整数的区别指针的概念二、举例如有定义:charc=‘A’;inta=3;则所占内存情况如下:注意:c和a的地址可能相邻,也可能不相邻,由系统分配。指针的概念三、指针与指针变量1、指针:简单地说,指针就是地址。二者是同一个概念的两种说法。只不过指针更形象一些,就像一个针一样,可以指向某个内存单元。2、指针变量:首先指针变量就是一个变量,和以前所讲的其它变量没有本质区别。不同之处在于这种变量中所存放的内容是地址。指针的概念四、直接访问和间接访问指针的概念AB1、直接访问通过变量本身对变量进行存取的方式,称为直接访问。如定义:intx;则x=

3、10;x+=5;这种访问方式只需要变量本身就得到了该变量的全部信息,不需要其它内容,是直接的。指针的概念2、间接访问通过指针变量实现对变量的访问方式,称为间接访问。首先要定义一个指针变量,然后将一个同类型变量的地址赋给该指针变量(称指针变量指向该变量),这样就可以进行间接访问了。间接访问的过程是:由指针变量得到变量的地址,根据该地址找到变量的存储区,再对该存储区的内容进行存取,从而实现了对变量的间接访问。指针的概念指针变量的定义和引用一、指针变量的定义和赋值1、格式:类型名*指针变量名;2、举例int*p1;char*s1,*s2;float*a1,*a2

4、,f;3、说明a.类型名:指针变量所指向的变量类型。b.*是定义指针变量的标志,不可丢掉。c.指针变量定义后,其值是不确定的。4、赋值:可以进行初始化,也可以使用赋值语句(1)、初始化:inta,*s=&a;int*f=NULL;(2)、赋值语句inta,*s;s=&a;(3)、注意:只能用同类型变量的地址进行赋值如定义:int*s;floatf;则s=&f;是非法的不能给指针变量赋以整型量或其它地址量如:int*p;则p=2000;是错误的。指针变量的定义和引用不定在分析有关指针的程序时,画图是很好的方法:若有:inta,*s;则sa若有:inta=5,

5、*s=&a;则不定5&a指针变量的定义和引用二、指针变量的引用1、两个运算符:&与*&:取地址,注意与作位运算符时的不同(双目)*:指针运算符(间接访问符),取内容,*P表示P所指向的变量,注意与乘运算符不同(双目)2、说明a.&既可作用于一般变量,也可作用于指针变量b.*只能作用于指针变量,*s等同于变量a。c.定义指针变量时的*与该处的含义不同指针变量的定义和引用3、指针变量可以进行的操作(1)赋值:inta,*p1=&a,*p2;p2=p1;(2)输出:printf(“%x”,p1);(3)增减:p1++;p2--;p1+=4;(只能和一个整数)(4

6、)取内容:*p1=5;a=5;printf(“%d”,*p1);(5)比较:一般与指针常量NULL进行比较;两指针变量值的大小比较无意义。指针变量的定义和引用#includemain(){inta1=11,a2=22;int*p1,*p2; p1=&a1; p2=&a2;printf(“%d,%d”,*p1,*p2); p2=p1;printf(“%d,%d”,*p1,*p2);}指针变量的定义和引用#includemain(){inta1=11,a2=22;int*p1,*p2,*p;p1=&a1;p2=&a

7、2;printf(“%d,%d”,*p1,*p2);p=p1;p1=p2;p2=p;printf(“%d,%d”,*p1,*p2);}指针变量的定义和引用#includemain(){inta1=11,a2=22,t;int*p1,*p2;p1=&a1;p2=&a2;printf(“%d,%d”,a1,a2);t=*p1;*p1=*p2;*p2=t;printf(“%d,%d”,a1,a2);}指针变量的定义和引用三、指针变量作为函数的参数1、形式:形式参数名前加上一个*。如:voidtest(int*pointer,ch

8、arf,char*s)2、说明通过指针作为参数可以将主调函数中某变

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

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

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