C语言编程教程 第10章 指针

C语言编程教程 第10章 指针

ID:43187561

大小:357.50 KB

页数:62页

时间:2019-10-02

C语言编程教程 第10章 指针_第1页
C语言编程教程 第10章 指针_第2页
C语言编程教程 第10章 指针_第3页
C语言编程教程 第10章 指针_第4页
C语言编程教程 第10章 指针_第5页
资源描述:

《C语言编程教程 第10章 指针》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、指针一、基本概念二、指针变量的引用指针运算符:&和*的用法指针的运算:算术、关系、赋值。指针变量作为函数的参数三、数组与指针相关概念及定义数组的访问数组名作为函数参数多维数组与指针教学要点四、字符串的指针和指向字符串的指针变量字符串的表示:字符数组与字符串指针字符串指针作函数的参数字符指针变量与字符数组的区别五、函数的指针和指向函数的指针变量六、返回指针值的函数七、指针数组与指向指针的指针八、指针的数据类型和指针运算教学要点基本概念1、变量定义:在编译时,为变量分配适当大小的内存单元。2、存储单元的地址:给定的一个内存单元的字节偏移量(编号或地址)。内存中每个字

2、节具有一个地址,用以区分不同的存储位置。3、存储单元的内容:某一个内存单元中存放的数据就是这个内存单元的内容。这些数据根据定义的变量的类型的不相同,占用内存的长度也不尽相同.(变量的值)基本概念4、指针:即变量的地址。(如2000H、2001H…2009H等)5、指针变量:含义:用于存放指针(地址)的变量。定义方法:数据类型*变量名如:intx=3;int*pointer1;float*pointer2;pointer1=&x;20003pointer1*pointer1x20001、数据类型:指针变量所指向目标单元的值的类型。2、*:指针变量的定义符3、变量名

3、:目标变量在内存中的位置(表示一个地址)如:pointer1=&x;4、指针变量的初始化:将指针变量指向一个具体的变量。如:intx=3;int*pointer1=&x;float*pointer2=&y;char*pointer3=&z;数据类型*变量名1、&:取地址运算符:作用:用于变量名之前,表示该变量的存储地址。2、*:指针运算符(间接访问)作用:用于指针变量名之前,获取该指针所指目标单元的值。例如:main(){inta,b,*point1,*point2;a=100;b=200;point1=&a;point2=&b;printf(“%d,%d”

4、,a,*point2);}3、&和*优先级相同,“右结合”:如:若point1=&a;则&*point1等价于&a;*&a等价于a;(*point1)++等价于a++;指针运算符指针的运算1、算术运算含义:对于地址的运算,只能进行整型数据的加、减运算。规则:指针变量+n意味着将指针指向的当前变量向前或后的第n个变量单元。例10-1:2、关系运算作用:用于识别目标变量在内存中的前后位置。用法:inti,j;int*p1=&i,*p2=&j;p1>p2用于识别变量i,j在内存的排列顺序。3、赋值运算作用:对指针变量的赋值运算,将改变指针变量的指向例10-2:4、例1

5、0-3:ijp1p210001002200020022004地址kjip=&i结论:·指针变量的算术运算结果是改变指针目标的指向;·指针变量算术运算的过程:p新=p原值+n*sizeof(类型)·提供指针的目的:使访问者与访问对象相隔离改进对成批数据的访问速度例10-120002002地址jip=&i要点:·应随时了解指针变量的目标指向;·不允许直接对指针变量赋常量值。例10-2例10_3:分析下面程序的功能.&a7&b8p2p1ab&b7&a8p2p1bap1、含义:函数的参数不仅可以是基本数据类型,还可以是指针类型。2、功能:将变量的地址传送到另一个函数中。

6、例10-43、结论:4、例10-5、10-6、10-7、10-8:指针变量作为函数参数指针变量作为参数,从调用函数到被调用函数传递的不是一个变量而是变量的地址;指针变量作为函数的参数,从实参到形参的数据传递仍然遵循“单向值传递”的原则,此时传递的是地址。例10_4:分析下面程序例10_5:分析下面的程序写出结果运行结果为:5,33,5例10_6:分析下面的程序写出结果运行结果为:5,33,5例10_7:分析下面的程序写出结果运行结果为:5,35,3例10_8:输入a、b、c三个整数,按从大到小的顺序输出。输入:9,0,10输出:10,9,0一、相关概念数组的指针

7、:数组的起始地址(即数组名)。它是一个恒定值指针。数组元素的指针:数组元素的地址。指向数组的指针变量:用于存放数组的起始地址或某一数组元素地址的变量。二、定义:与一般指针变量的定义方法相同。如:inta[10],*p1,*p2;p1=a;//p1为指向数组的指针p2=&a[2];//p2为指向数组元素的指针在定义指针变量时可以直接赋初值。相关概念及定义a[0]ap1a[1]a[2]a[9]a[i]p2引用数组元素可以用下标法或指针法。使用指针方法能使目标程序所占内存少、运行速度快。一、基本方法1、将指针指向数组中的某个元素;2、利用*(p+n)获得数组元素的值。

8、如:inta[9]={0

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

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

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