c语言指针总结

c语言指针总结

ID:20431127

大小:159.94 KB

页数:31页

时间:2018-10-13

c语言指针总结_第1页
c语言指针总结_第2页
c语言指针总结_第3页
c语言指针总结_第4页
c语言指针总结_第5页
资源描述:

《c语言指针总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第八章:指针知识结构:1)指针的基本概念2)怎么定义指针3)指针的运算1)指针的基本概念内存:以字节为单位,由若干个字节组成为了便宜管理,给每个字节编号(十六进制)每一个字节的编号在整个内存都是唯一定义变量:在计算机内存中去预定内存各类变量所预定的空间大小不同整型:intTC2字节VC4字节longTC4字节VC4字节shortTC2字节VC2字节实型:floatTC4字节VC4字节字符型:charTC1字节VC1字节变量的地址,指向变量的指针用来存储变量地址的变量,指针变量指针变量只能存储地址,类型必须要一致才能存

2、储scanf(〃%d〃,&a):2)定义指针变量inta,b;int氺p,氺q;类型名*指针变量名1,*指针变量名2...类型名:该指针变量的基本类型,只能存储对应类型变量的地址指明该变量是一指针类型的变量(只能存储地址)float*ft1,*ft2;double*dbl,*db2;指针变量名:不包括*号怎么样去访问变量的内容:1)拿到该变量的地址,直接对该地址进行访问2)通过指针变量来间接访问存储单元怎么样给指针变量赋值:inta,b;int氺p,氺q;获取变量的地址:可以用取地址运算符(&),将变量的地址取出&〈

3、变量名〉:将指定变量的首字节的编号拿到得到指定变量的地址p=&a;:将a的地址取出存储到指针变量p中通过P可以间接访问变量aP就是指向变量a的指针q=&b;注意:指针变量的类型必须和变量的基类型是一致才能存储q=10;/*指针只能存储地址值*/inta,b,氺q,氺c,氺p;p=&a;q=&b;c=p;/*将p中的内容取出,赋值给指针c,使指针c和指针P同时指向P所指向的变量*/可以让指针不指向任何存储单元:int氺p;p=NULL;P=0;P=’’;上面三种方式,都可以使指针P没有指向inta,氺p;int指向

4、指针的指针变量*/p=&a;q=&P;指向指针的指针变量:基本类型**指针变量名1,**指针变量名2...只能存储指针变量的地址,指向的是指针用指针怎么样来访问变量:*指针变量名;运算符将指针所指向的变量内容访问出来inta,氺p;a=10;p=&a;a<=〉氺pinta,氺p,氺氺qia=10;p=&a;q=&P;a氺p氺氺q&*都是单目运算符左边必须是一个变量名,不能表达式或常量左边必须能够代表一个唯一的存储单元地址错误赋值表达式:(A+B)二1010=10从键盘上输入两个整数,然后输出*:定义语句中出现时,表示

5、该变量是一个指针变量执行语句中出现时,代表间接访问指针变量所指向变量的值ttinclude/zstdio.hz/voidmain(){inta,b,*p=&a,氺q,氺c,d;q=&b;c=&d;氺c=氺口;scanfC'o/odo/od'p,q);printf(/za=°/od,b=%d",氺p,氺q);1020a=10,b=20Pressanykeytocontinue1)指针变量在定义时就可以给其进行初始化操作*:定义语句中出现时,表示该变量是一个指针变量执行语句中出现时,代表间接访问指针变量所指向变量的值

6、2)凡是出现&a地方,都可以指针p去代替3)凡出现a的地方,都可以用间接访问指针去代替(*p)指针:为操作存储单元提供一种间接的访问方式直接访问变量名属于直接操作2.交换a,b两个变量的值(指针来操作)^include"stdio.h"voidmain(){inta,b,*p=&a,*q=&b,t;scanf(//o/od%d/z,p,q):printf(//l)a=%d,bsO/odXn",水p,水q);t=氺口;*P=*q;/*将指针变量q所指向变量的值取出来赋值给指针变量P所指向的存储单元中*/二t;print

7、f("2)a=%d,b=%d",*p,*q);10201)a二10,b=202)a=20,b=10Pressanykeytocontinue2.输入两个数,找出最大值(用指针来操作)^include’’stdio.h”voidmain(){inta,b,*q=&b,*max二NULL;scanf(//o/odo/ocT,p,q);if(*p〉*q)max=p;//使指针max和指针p指向同一个变量elsemax=q;printf("max=%d/z,*max):9050max=90Pressanykeytoc

8、ontinue^include/zstdio.hzzvoidmain(){int&=10,氺p,氺氺q;p=&a;q=&P;printf(//a=%d,a=%d/z,氺p,氺氺q)a=10,a=10Pressanykeytocontinue单目运算符:1)!逻辑非2)+正号3)-负号4)++自增1)—自减2)&取地址3)*间接访问4)(类型

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

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

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