指针是C语言的重要概念和特色使用指针

指针是C语言的重要概念和特色使用指针

ID:43214325

大小:474.00 KB

页数:40页

时间:2019-10-03

指针是C语言的重要概念和特色使用指针_第1页
指针是C语言的重要概念和特色使用指针_第2页
指针是C语言的重要概念和特色使用指针_第3页
指针是C语言的重要概念和特色使用指针_第4页
指针是C语言的重要概念和特色使用指针_第5页
资源描述:

《指针是C语言的重要概念和特色使用指针》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第9章指针指针是C语言的重要概念和特色。使用指针,可以使程序更加简洁、紧凑、高效。教学目的:掌握指针的概念,指针变量的概念、定义与应用,指向1维数组(字符串)的指针变量应用,指针数组与带参主函数;了解返回指针值的函数等。7/17/20211教学内容:9.1指针和指针变量的概念9.2*指针变量的定义与应用9.3*1维数组的指针与列指针变量9.4字符串的指针和指向字符串的指针变量9.5指针数组与主函数main()的参数9.6返回指针值的函数本章要点本章作业与上机实践7/17/202129.1*指针和指针变量的概念1.内存地址──内存中存储单元的编号。(1)内存中拥有大量的存储

2、单元(1字节)。为了方便管理,必须为每一个存储单元编号——存储单元的“地址”。每个存储单元,都有一个惟一的地址。(2)在地址所标识的存储单元中,存放数据。类比:住址(宿舍编号)与人。7/17/202132.变量地址──系统分配给变量的内存单元的起始地址。假设有如下程序:……voidmain(){intnum;scanf("%d",&num);printf("num=%d",num);}且系统分配给变量num的2个存储单元为3000和3001,则起始地址3000就是变量num在内存中的地址。7/17/202143.变量值的存取──通过变量在内存中的地址进行系统存取变量n

3、um的方式可以有两种:…………3……3000num(1)直接访问──直接利用变量的地址进行存取用变量名num查找符号表(编译程序建立),取出其起始地址3000;然后访问num(将数据送入/取出),如右图所示。7/17/20215(2)间接访问──通过另一变量访问num的值C语言规定:在程序中,可以定义一种特殊的变量(称为指针变量),用来存放其它变量的地址。假设:定义了1个指针变量num_p,它被分配到4000、4001单元,通过赋值语句“num_p=#”获得num的地址3000,如下图所示:7/17/20216通过指针变量num_p,存取变量num的过程如下:首先

4、找到指针变量num_p的地址(4000),取出其值3000(num的地址);然后存取num的值(3)。……3000……3……30004000numnum_p7/17/20217(3)两种访问方式的比较类比:某人甲(系统)找某人乙(变量)办事①甲直接去找乙办事(即直接访问)。②甲委托丙(指针变量)去找乙办事。7/17/202184.指针与指针变量(1)指针──即地址,变量的地址称为该变量的指针。(2)指针变量──专门用于存储其它变量地址的变量。例如,变量num_p是一个指针变量,其值是变量num的地址。[返回]7/17/202199.2*指针变量的定义与应用9.2.1指针变

5、量的定义与相关运算[案例9.1]指针变量的定义与相关运算示例。#include"stdio.h"#include"conio.h"voidmain(){intnum_int=12,*p_int;floatnum_f=3.14,*p_f;charnum_ch=’p’,*p_ch;p_int=&num_int;p_f=&num_f;p_ch=&num_ch;指向int型数据的指针变量p_int使p_int指向变量num_int7/17/202110printf(“num_int=%d,*p_int=%d”,num_int,*p_int);printf(“num_f=%4.

6、2f,*p_f=%4.2f”,num_f,*p_f);printf(“num_ch=%c,*p_ch=%c”,num_ch,*p_ch);getch(); }程序运行结果:num_int=12,*p_int=12num_f=3.14,*p_f=3.14num_ch=p,*p_ch=p访问p_int所指向的变量7/17/2021111、指针变量的定义数据类型*指针变量[,*指针变量2……];例如,[案例9.1]中的语句:intnum_int=12,*p_int;特别说明:定义而未初始化的指针变量(例如p_int)是悬空的。使用悬空指针变量,很容易破坏系统,导致系统瘫

7、痪。指针变量的定义标识符7/17/2021122、取地址运算:&变量名例如,[案例9.1]中的&num_int、&num_f、&num_ch的结果,分别为对应变量的地址(num_int、num_f、num_ch)。注意:指针变量只能存放相同数据类型变量的地址。例如,[案例9.1]中的指针变量p_int、p_f、p_ch,只能接收int型、float型、char型变量的地址,否则出错。7/17/2021133、指针运算:*指针变量名*p_int、*p_f、*p_ch,分别输出各自所指向的变量num_int、num_f、num_c

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

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

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