第3次课--指针变量的定义和运算、指针变量作函数参数ppt课件.ppt

第3次课--指针变量的定义和运算、指针变量作函数参数ppt课件.ppt

ID:59018636

大小:494.50 KB

页数:35页

时间:2020-09-26

第3次课--指针变量的定义和运算、指针变量作函数参数ppt课件.ppt_第1页
第3次课--指针变量的定义和运算、指针变量作函数参数ppt课件.ppt_第2页
第3次课--指针变量的定义和运算、指针变量作函数参数ppt课件.ppt_第3页
第3次课--指针变量的定义和运算、指针变量作函数参数ppt课件.ppt_第4页
第3次课--指针变量的定义和运算、指针变量作函数参数ppt课件.ppt_第5页
资源描述:

《第3次课--指针变量的定义和运算、指针变量作函数参数ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、同学们,加油噢!教学主题指针变量的定义和运算、指针变量作函数参数教学目标通过本次课的学习,使学生掌握指针的概念、指针变量的概念和定义方法、指针变量的运算、以及指针变量作为函数参数的用法。教学重点1、指针变量的定义、赋值2、指针变量的运算3、指针变量作为函数参数的用法教学难点1、指针和指针变量的区别2、指针变量作为函数参数的实质及效果教案主要内容指针和指针变量的概念指针变量的定义和赋值指针变量的运算指针变量作为函数的参数为什么引入指针指针是C语言的特色、精华程序设计时应用指针的好处①支持动态分配内存②能有效而方

2、便地使用数组(包括字符串)③可以在函数调用时返回多个值举例在程序中,有如下语句。问:内存中会如何变化?intx,y;x=12;y=20;1220内存单元的编号,叫地址&x&y内存地址在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为一个内存单元。为了正确地访问这些内存单元,必须为每个内存单元编上号。根据编号就可以准确地找到该内存单元。内存单元的编号也叫做内存地址。程序中一个变量包含了两个概念:①变量在内存中的地址②存放在该地址中的内容注意变量的地址是由系统分配的,在程序中只可使用,不能修

3、改。内存单元的地址和内存单元的内容内存单元的地址内存单元的内容指针和指针变量的定义C语言中,将地址形象化地称为“指针”。意思是通过它可以找到以它为地址的内存单元。一个变量的地址称为该变量的指针。即:指针就是内存地址。如果一个变量专门存放另一个变量的地址(即指针),则称为指针变量。问:指针、指针变量是一回事吗?指针变量举例在图6-2中,变量x占用了20A0起的2个内存单元,其内容(值)为12。设有指针变量P,内容为20A0。这种情况我们称为P指向变量x,或称P是指向变量x的指针变量。返回指针变量的定义定义指针变

4、量时要包括三个内容:①指针变量类型说明,即标明变量为一个指针变量。②指针变量名。③指针变量所指向的变量的数据类型。其一般形式为:类型标识符*指针变量名;标明这是一个指针变量变量名本指针变量所指向的变量的数据类型定义指针变量举例针对图6-2,应该如何定义x和p?intx;int*p;表示p是一个指针变量,它指向某个整型变量。如何给这两个变量赋值?x=12;p呢?指针变量的赋值指针变量同普通变量一样,使用之前不仅要定义,而且必须赋予具体的值。给指针变量赋值只能赋予地址,不能赋予任何其它数据。C语言中提供了地址运算

5、符&来表示变量的地址。其一般形式为:&变量名例如:&a变示变量a的地址。指针变量赋值举例针对图6-2,有如下语句:intx;int*p;x=12;如何给p变量赋值?p=&x;如何在定义的同时给变量赋值?intx=12;int*p=&x;在用之前,x已定义给指针变量赋值时的注意点可以让指针变量不指向任何变量。int*p;p=NULL;(NULL在stdio.h中有定义)通常不允许直接把一个数值赋给指针变量。int*p;p=1000;被赋值的指针变量前不能再加“*”说明符。inta,*p;*p=&a;一个指针变量

6、只能指向同类型的变量。floatb;int*p;p=&b;错误的用法错误的用法错误的用法指针变量的特殊性①指针变量也是一种变量。②指针变量只不过是一种特殊的变量,其特殊性表现在类型和值上。③指针变量的类型是指针所指向的变量的类型。④指针变量的值是某个变量在内存中的地址。指针变量使用技巧指针变量的使用原则:先赋初值(地址),再使用。理由:安全使用指针变量的方法:对暂时不使用的指针,可先定义成空指针。即将其赋值为NULL。使用未经赋值的(浮游)指针危害很大。返回与指针变量有关的运算符与指针变量有关的运算符有两个:

7、&和*。取地址运算符(&)单目运算符,右结合。取内容运算符(*),也叫指针运算符单目运算符,右结合。作用:用来表示指针变量所指向的变量的内容。指针变量引用举例问:下面程序的运行结果是什么?#include"stdio.h"voidmain(){inta,b;int*p;a=123;p=&a;b=*p;*p=-200;printf("a=%d,b=%d",a,b);p=&b;printf(“%d,%d",b,*p);}程序运行结果a=-200,b=123123,123运行程序(3_1)思考①p的指向;②

8、第2个printf中的访问方式指针变量的运算除了&和*两种运算之外,指针变量还可以进行赋值运算、加减算术运算和关系运算。指针变量的赋值运算把一个指针变量的值赋予指向相同类型变量的另一个指针变量。inta,*pa=&a,*pb;pb=pa;把数组的首地址赋予同类型的指针变量。inta[5],*pa;pa=a;或pa=&a[0];把字符串的首地址赋予指向字符类型的指针变量。char*pc;pc="Iam

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

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

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