C语言程序设计PPT课件第9章 指针.ppt

C语言程序设计PPT课件第9章 指针.ppt

ID:58886032

大小:1.71 MB

页数:46页

时间:2020-09-30

C语言程序设计PPT课件第9章 指针.ppt_第1页
C语言程序设计PPT课件第9章 指针.ppt_第2页
C语言程序设计PPT课件第9章 指针.ppt_第3页
C语言程序设计PPT课件第9章 指针.ppt_第4页
C语言程序设计PPT课件第9章 指针.ppt_第5页
资源描述:

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

1、第9章指针本章学习内容指针数据类型指针变量的定义和初始化取地址运算符,间接寻址运算符按值调用与按地址调用,指针变量作函数参数函数指针voidSwap(intx,inty){inttemp;temp=x;x=y;y=temp;}intmain(){inta,b;a=5;b=9;Swap(a,b);printf("a=%d,b=%d",a,b);return0;}程序1:简单变量作函数参数例7.9未能解决的问题:两数互换voidSwap(int*x,int*y){inttemp;temp=*x;

2、*x=*y;*y=temp;}intmain(){inta,b;a=5;b=9;Swap(&a,&b);printf("a=%d,b=%d",a,b);return0;}程序2:指针变量作函数参数NotWork!Why?指针为函数提供修改变量值的手段9.1变量的内存地址变量的地址(Address)变量名内存:计算机内的存储部件所有指令和数据都保存在内存里速度快,可随机访问,但掉电即失编译或函数调用时为变量分配内存单元inta=0;0x0037b0000000ContentsContentsConten

3、tsContentsContentsContentsContents变量的值a某存储区域9.1变量的内存地址变量的地址内存中的每个字节都有唯一的编号(地址)地址是一个十六进制无符号整数其字长一般与主机相同地址按字节编号,按类型分配空间0x0037b0000000ContentsContentsContentsContentsContentsContentsContents某存储区域0x0037b0010x0037b0020x0037b003&aAddressOperatorinta=0;a9.1变量的

4、内存地址如何读写内存中的数据?0x0037b0000000ContentsContentsContentsContentsContentsContentsContents某存储区域0x0037b0010x0037b0020x0037b003只要指明要访问的变量的内存单元地址就可以立即访问到变量所在的存储单元&ascanf("%d",&a);inta=0;a9.1变量的内存地址【例9.1】使用取地址运算符&取出变量的地址,然后将其显示在屏幕上。表示输出变量a的地址值?9.1变量的内存地址如何读写内存中的

5、数据?0x0037b0000000ContentsContentsContentsContentsContentsContentsContents某存储区域0x0037b0010x0037b0020x0037b003直接寻址:按变量地址存取变量值&ascanf("%d",&a);ainta=0;9.1变量的内存地址如何读写内存中的数据?0x0037b0000000ContentsContentsContentsContentsContentsContents0x0037b000某存储区域0x0037b

6、0010x0037b0020x0037b003间接寻址:通过存放变量地址的变量去访问变量&aainta=0;inti; scanf("%d",i);/*这样会如何?*/charc; scanf("%d",&c);/*这样呢?*/i的值被当作地址。如i==100,则输入的整数就会从地址100开始写入内存输入以int的二进制形式写到c所在的内存空间。c所占内存不足以放下一个int,其后的空间也被覆盖9.2指针变量的定义和初始化存放变量的地址需要一种特殊类型的变量指针(Pointer)类型指针变量——具有指

7、针类型的变量变量的指针←→变量的地址指针变量指向变量变量的地址(指针)变量值变量地址存入指针变量9.2指针变量的定义和初始化【例9.2】使用指针变量在屏幕上显示变量的地址值定义了指针变量pa,但pa并未指向a?如果指针指向一个非你控制的内存空间并对该空间进行访问,将可能造成危险9.2指针变量的定义和初始化【例9.2】使用指针变量在屏幕上显示变量的地址值指针变量使用之前必须初始化Neveruseuninitializedpointers9.2指针变量的定义和初始化【例9.2】使用指针变量在屏幕上显示变量

8、的地址值9.2指针变量的定义和初始化【例9.2】使用指针变量在屏幕上显示变量的地址值Pointershavenames,typesandvalues9.2指针变量的定义和初始化【例9.2】使用指针变量在屏幕上显示变量的地址值指针变量指向的数据类型称为基类型指针变量只能指向同一基类型的变量9.2指针变量的定义和初始化【例9.2】使用指针变量在屏幕上显示变量的地址值不能写成:int*pa,pb;9.3间接寻址运算符【例9.3】使用指针变量,通过间接寻址输出变

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

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

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