C语言基础课程第7章 指针课件.ppt

C语言基础课程第7章 指针课件.ppt

ID:57057041

大小:551.50 KB

页数:56页

时间:2020-07-30

C语言基础课程第7章 指针课件.ppt_第1页
C语言基础课程第7章 指针课件.ppt_第2页
C语言基础课程第7章 指针课件.ppt_第3页
C语言基础课程第7章 指针课件.ppt_第4页
C语言基础课程第7章 指针课件.ppt_第5页
资源描述:

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

1、第七章指针7/27/20211程序设计基础(C语言)wh本章内容7.1指针的概念7.2指针变量作为函数参数7.3指针与一维数组7.4指针与多维数组7.5指针数组和多级指针7.6指针与函数7.7命令行参数小结7/27/20212程序设计基础(C语言)wh7.1指针的概念7.1.1地址与指针一般把存储器中的一个字节称为一个内存单元,为了正确地访问这些内存单元,必须为每个内存单元编上号。根据一个内存单元的编号即可准确地找到该内存单元,这个编号就叫做存储单元的地址。在C程序中定义一个变量,系统会根据要求给这个变量分配存储单元,分配时会

2、根据变量类型的不同决定分配内存空间的大小。变量通常有3个特征:名字、地址和内容(值)。7/27/20213程序设计基础(C语言)wh变量的地址表示为:&变量名&是取地址运算符,操作数是变量名。该表达式的值为操作数变量的地址。指针变量:存放地址的变量例:inti=10;charc=‘a’;int*p;p=&i;变量p被定义成一个指针变量,语句“p=&i;”将变量i的地址(1000)存放到变量p中,称“p指向变量i”或“p是变量i的指针”,被指向的变量i称为p所指向的对象。7/27/20214程序设计基础(C语言)wh单目运算符*

3、是&的逆运算,称为间接访问运算符。使用形式为:*地址表达式*运算的操作数是地址表达式,运算的结果是以地址表达式的取值为指针所指向的对象。例如,若pc是指向字符变量c的指针,则*(&c)和*pc表示同一字符对象c。因而赋值语句:*(&c)='a';*pc='a';c='a';效果是一样的,都是将'a'赋给变量c。7/27/20215程序设计基础(C语言)wh…...…...2000200820122010整型变量i10变量i_pointer200220042006指针变量:专门存放变量地址的变量叫指针变量2000指针指针变量变量

4、的内容变量的地址指针变量变量变量地址(指针)变量值指向地址存入指针变量7/27/20216程序设计基础(C语言)wh7.1.2指针变量的定义和引用1.指针变量的定义一般形式为:类型说明符*变量名;说明:*此时不是间接访问运算符,它表示定义的是指针变量;变量名即为定义的指针变量名;类型说明符表示本指针变量所指向的变量的数据类型。例如:int*p1;/*p1是指向整型变量的指针变量*/char*p2;/*p2是指向字符型变量的指针变量*/float*p3;/*p3是指向单精度浮点型变量的指针变量*/注意:一般情况下,一旦指针变量的

5、数据类型被确定后,其只能指向同一类型的数据对象。7/27/20217程序设计基础(C语言)wh例inti;int*p=&i;变量必须和已说明过的类型一致例int*p=&i;inti;例inti;int*p=&i;int*q=p;用已初始化指针变量作初值2.指针变量的初始化指针变量定义后,变量值不确定,使用前必须先赋值。可以对其进行初始化。可以把指针初始化为0、NULL或某个地址,作为初值的地址表达式必须是与指针所指向的对象同类型的变量的地址。7/27/20218程序设计基础(C语言)wh3.指针变量的引用指针变量本身存放的是它

6、指向对象的地址,程序中必须明确使用的是指针变量本身还是指针变量所指向的对象;必须给指针变量赋值,使指针指向一个明确的对象后,才能使用指针指向的对象。例如:inti=10,j,*p=&i;j=*p;等价于j=i;(*p)++;等价于i++;*p=j;等价于i=j;printf("%d",*p);等价于printf("%d",i);scanf("%d",p);等价于scanf("%d",&i);注意:通过指针p对变量i输入数据时,由于p=&i,p已经是i的地址了,所以不要写成&p。7/27/20219程序设计基础(C语言)wh例v

7、oidmain(void){inti=10;int*p;*p=i;printf(“%d”,*p);}危险!例voidmain(void){inti=10,k;int*p;p=&k;*p=i;printf(“%d”,*p);}指针变量必须先赋值,再使用…...…...2000200820122010整型变量i10指针变量p200220042006随机7/27/202110程序设计基础(C语言)wh零指针与空类型指针零指针:(空指针)定义:指针变量值为零表示:int*p=0;#defineNULL0int*p=NULL;p=NUL

8、L与未对p赋值不同用途:(1)避免指针变量的非法引用(2)在程序中常作为状态比较void*类型指针表示:void*p;使用时要进行强制类型转换表示不指定p是指向哪一种类型数据的指针变量p指向地址为0的单元,系统保证该单元不作它用表示指针变量值没有意义例int*p;......

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

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

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