c语言程序设计--cha

c语言程序设计--cha

ID:36324531

大小:1.37 MB

页数:85页

时间:2019-05-09

c语言程序设计--cha_第1页
c语言程序设计--cha_第2页
c语言程序设计--cha_第3页
c语言程序设计--cha_第4页
c语言程序设计--cha_第5页
资源描述:

《c语言程序设计--cha》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、设一个函数process,在调用它的时候,每次实现不同的功能。输入a和b两个数,第一次调用的时找出其中的大者,第二次调用的时找出其中的小者。第三次调用求两者之和。第六章指针指针是C语言的一个重要概念,也是C语言的一个重要特色。深刻理解和正确使用指针是学习本章的基本要求。C程序设计中使用指针可以:使程序简洁、紧凑、高效有效地表示复杂的数据结构动态分配内存得到多个函数返回值数据存储区6.1指针概述6.1.1地址与指针(一)地址与取地址运算地址34.58.64121120abcdef101010121014101810221023inta=3,b=4;floatc=4.5,d=8.

2、6;chare='x',f='y';编译或函数调用时为其分配内存单元内存中每个字节有一个编号----地址数据占有的字节数由它的类型决定变量是对程序中数据存储空间的抽象取地址运算对普通变量:通过取地址运算符“&”得到该变量的地址。对数组变量:数组名即为该数组的首地址。(二)指针与指针变量直接访问通过变量本身对变量进行存取的方式,称为直接访问。如定义:inti;i=3;这种访问方式只需要变量本身就得到了该变量的全部信息,不需要其它内容,是直接的。数据存储区34.58.64121120abcdef101010121014101810221023间接访问200020022004200

3、620082010papbpcpdpepf101010121014101810221023指针变量通过指针实现对变量的访问方式,称为间接访问。间接对变量的访问方式:首先要定义一个指针变量;然后将一个同类型变量的地址赋给该指针变量(这时我们称指针变量指向该变量);int*i_point,i=3;i_point=&i;i=3i_point变量的指针变量的地址存放变量地址的变量指针变量指针变量是一个特殊的变量,只能存放变量的地址而不能用来存放其它类型的数据。指针指向的变量称为目标变量。6.1.2指针的类型与指针的定义指针是有类型的,它的类型就是它所指向的实体的类型。定义一个指针变量

4、格式:[存储类型]类型标识符*指针变量名;例:int*a,*b;char*c,*ch;float*p1,*p2,*p;指针变量定义后,值不确定。注意:*p与p的区别,p才是指针变量;指针变量只能指向定义时所规定类型的变量;指针变量定义后,值不确定,应用前必须先赋值;指针变量的赋值和初始化赋值语句:inti=3,*p;p不定i3p=&i;i的地址3int*p;floata;p=&a;int*p=&i;inti;inti;int*p=&i;int*q=p;inti;staticint*p=&i;inti=3,*p=&i;初始化:一般形式:[存储类型]数据类型*指针名=初始地址值;

5、20002010i的地址指针变量的地址i_pointi=106.1.3指针变量的引用有关指针的运算符取变量地址运算符。&a表示变量a的地址。指针运算符(取指针所指向变量的内容)。*p表示p所指向的变量。&*两者关系:互为逆运算inti=10,*i_point;i_point=2000i_point---指针变量,它的内容是地址量*i_point---指针的目标变量,它的内容是变量值&i_point---指针变量占用的内存地址i_point=&i;i*i_point&ii_pointi=10*i_point=10例main(){inti=10;int*p;*p=i;printf

6、("%d",*p);}指针变量必须先赋值,再使用main(){inti=10,k;int*p=&k;*p=i;printf("%d",*p);}危险!指针变量可进行的操作inta,b,*p1,*p2,*p3;输出:printf("%x,%x",p1,p2);printf("%d,%d",*p1,*p2);增减:p++;p--;p+=4;(只能和整数运算)*p++;*p--;两指针加减:p1-p2;p1+p2;两指针比较:if(p1>p2)…if(p1

7、一个变量inta,*p1,*p2;p1=&a;printf("%X",p1);p2=p1;*p2=3;printf("%d",*p1);printf("%d",a);ap1p2101020002002...p1=1010p2=1010a=3例6.2:使两个指针变量交换指向main(){int*p1,*p2,*p,i1=10,i2=20;p1=&i1;p2=&i2;printf("%d,%d",*p1,*p2);p=p1;p1=p2;p2=p;printf("%d,%d",*p1,*p2);}i2=20p

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

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

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