c语言__地址和指针

c语言__地址和指针

ID:44209705

大小:847.50 KB

页数:26页

时间:2019-10-19

c语言__地址和指针_第1页
c语言__地址和指针_第2页
c语言__地址和指针_第3页
c语言__地址和指针_第4页
c语言__地址和指针_第5页
资源描述:

《c语言__地址和指针》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第8章地址和指针基本知识讲解§8.1指针的基本概念§8.2指针变量的定义§8.3给指针赋值§8.4对指针变量的操作§8.5函数之间地址值传递返回§8.1变量的地址和指针一、地址存储单元的编号。0000→0001→……FFFF→0002→例:设有变量说明:shortinta;floatb;doublec;ee00ee01ee02ee03ee04ee05a占用…b占用c占用ee0d…§8.1变量的地址与指针变量i_pointer200020022004……3010……3692000变量i变量j变量k……直接访问间接访问§8.1变量的地址与指针指针2000i3直接访问2000i

2、32000i_pointer间接访问§8.1变量的地址与指针二、指针指针就是地址,即内存单元的编号。内存单元的指针和内存单元的内容是两个不同的概念。用于存放指针的变量称为指针变量。§8.1变量的地址与指针地址2000是变量i的指针;i_pointer是指针变量,其值就是指针2000。#2000i32000i_pointer§8.1变量的地址与指针返回§8.2指针变量的定义与基类型如何定义一个指针变量变量的指针:即变量的地址。指针变量:存放变量地址的变量。对指针变量的定义包含三方面的内容:定义变量为一个指针变量;指针变量名;指针变量所指向的变量的数据类型。§8.2指针变量的

3、定义与基类型定义格式:存储类型基类型*指针变量名;如:int*p1,*p2;float*p3;char*p4;返回§8.3给指针变量赋值1.通过取地址运算符&获得地址值inta=20,*pa;pa=&a;5变量a&a指针变量pa§8.3给指针变量赋值2.通过指针变量获得地址值inta,*pa=&a,*pb;pb=pa;a&apa&apb§8.3给指针变量赋值3.给指针变量赋空值int*p=0;int*p=NULL;空指针与无指向的指针是有区别的。不要将一个整数值赋予一个指针变量,那样做无意义返回§8.4对指针变量的操作一、指针变量有两个运算符(1)取地址运算符&功能:取变

4、量的地址;单目,右结合(2)取内容运算符*功能:指针运算符(间接访问运算符)单目,右结合§8.4对指针变量的操作如:inta=5,*p=&a;printf(“%d”,*p);指针变量p&a5变量a§8.4对指针变量的操作输出结果为:100,10100,10例main() {inta,b; int*p1,*p2; a=100;b=10;p1=&a;p2=&b; printf(“%d,%d”,a,b); printf(“%d,%d”,*p1,*p2); }§8.4对指针变量的操作例8.1用指针指向两个变量,通过指针运算选出值小的那个数。§8.4对指针变量的操作#inc

5、ludemain(){inta,b,min,*pa,*pb,*pmin;pa=&a;pb=&b;pmin=&min;scanf("%d%d",pa,pb);printf("a=%d,b=%d",a,b);if(*pa>*pb)*pmin=*pb;else*pmin=*pa;printf("min=%d",*pmin);getch();}§8.4对指针变量的操作二、指针的移动指针能进行加、减算术运算,表示指针的移动。如:p+np-np++ p--++p--p p-=np+=np1-p2等其中n是整数,p、p1、p2均为指针;移动长度取决于指针的基类

6、型,由计算机决定;§8.4对指针变量的操作注:p1+k=p1+k*sizeof(p1的基类型);p1-k=p1-k*sizeof(p1的基类型);例如:设有如下定义和语句:inta[5]={1,2,3,4,5},*p1,*p2;p1=a;p2=p1+1;p2++;p2++;p2--;p1+=4;§8.4对指针变量的操作§8.4对指针变量的操作三、指针的比较设指针p1、p2指向同一数组中的元素,则:p1

7、,不可比较;允许将指针与NULL或数值0进行==或!=的比较,以便判定一个是否为空。#返回§8.5函数之间地址值的传递例8.3对输入的两个整数按大小顺序输出。(与原题略有不同)先考察如下程序,看是否能得到预期的结果。§8.5函数之间地址值的传递main(){inta,b;scanf(“%d,%d”,&a,&b);if(a

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

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

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