谭浩强_c语言程序设计教程_学习笔记_第8章.doc

谭浩强_c语言程序设计教程_学习笔记_第8章.doc

ID:58828047

大小:73.00 KB

页数:25页

时间:2020-09-24

谭浩强_c语言程序设计教程_学习笔记_第8章.doc_第1页
谭浩强_c语言程序设计教程_学习笔记_第8章.doc_第2页
谭浩强_c语言程序设计教程_学习笔记_第8章.doc_第3页
谭浩强_c语言程序设计教程_学习笔记_第8章.doc_第4页
谭浩强_c语言程序设计教程_学习笔记_第8章.doc_第5页
资源描述:

《谭浩强_c语言程序设计教程_学习笔记_第8章.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章指针8.1地址和指针的概念按变量地址存取变量值的方式,成为“直接访问”方式。“间接访问”将变量的地址存放在另一个变量中。一个变量的地址称为该变量的“指针”。如果有一个变量专门用来存放另一个变量的地址(即指针),则它称为“指针变量”,指针变量就是地址变量(存放地址的变量)。指针变量的值(即指针变量中存放的值)是地址(指针)。8.2变量的地址和指向变量的指针地址变量的指针就是变量的地址。存放地址的变量是指针变量,它用来指向另一个变量。用“*”表示“指向的对象”。8.2.1怎样定义指针变量?指针变量的基类型用来指定此指针变量可以指向的变量类型。

2、定义指针变量一般形式为:基类型*指针变量名;说明:(1)指针变量前的“*”表示该变量的类型为指针类型。(2)定义指针类型时必须指定基类型。对指针变量赋值时需要注意:(1)指针变量中只能存放地址。(2)赋给指针变量的变量地址不能是任意类型,而只能是与指针变量的基类型具有相同类型的变量的地址。8.2.2怎样引用指针变量(1)给指针变量赋值。p=&a;(2)引用指针变量的值。如:printf(“%o”,p);作用是以八进制输出指针变量p的值,如果p指向了a,就是输出a的地址,即&a。(3)引用指针变量指向的变量。(1)“&”算去地址运算符。(2)“*

3、”指针运算符。例8.1通过指针变量访问整型变量#includeintmain(){inta,b;int*pointer_1,*pointer_2;a=100;b=200;pointer_1=&a;pointer_2=&b;printf("a=%d,b=%d",a,b);printf("*pointer_1=%d,*pointer_2=%d",*pointer_1,*pointer_2);return0;}例8.2输入a,b连个整数,按先大后小的顺序输出a,b。#includeintmain(){int*p

4、,*p1,*p2;inta,b;printf("pleaseentera,b:");scanf("%d,%d",&a,&b);p1=&a;p2=&b;if(aint

5、main(){voidswap(int*,int*);int*p1,*p2;inta,b;printf("pleaseentera,b:");scanf("%d,%d",&a,&b);p1=&a;p2=&b;if(a

6、,但是却可以改变实参指针变量所指变量的值。例8.4输入3个整数a,b,c,要求按大小顺序将它们输出。用函数实现改变这3个变量的值。#includeintmain(){voidexchange(int*,int*,int*);int*p3,*p1,*p2;inta,b,c;printf("pleaseentera,b,c:");scanf("%d,%d,%d",&a,&b,&c);p1=&a;p2=&b;p3=&c;exchange(p1,p2,p3);printf("%d,%d,%d",a,b,c);return0;}

7、voidexchange(int*q1,int*q2,int*q3){voidswap(int*,int*);if(*q1<*q2)swap(q1,q2);if(*q1<*q3)swap(q1,q3);if(*q2,*q3)swap(q2,q3);}voidswap(int*p1,int*p2){inttemp;temp=*p1;*p1=*p2;*p2=temp;}8.3通过指针引用数组8.3.1数组元素的指针所谓数组元素的指针就是数组元素的地址。8.3.2指针的运算说明:(1)P+1指向同一数组中的下一个元素,p-1指向同一数组中的上一个元素

8、。(2)如果p原来指向a[0],执行++p后p的值改变了,在p的原值基础上加d,这样p就指向数组的下一个元素a[1].(3)如果p的初值是&a[0],

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

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

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