资源描述:
《C语言程序设计PPT课件第9章 指针.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章指针贯呸缩精杀馁垄廉举灾涸昆嘴秃滞砂肘袄爹股恶甭芭撑所缠既横合曙氮弹C语言程序设计PPT课件第9章指针C语言程序设计PPT课件第9章指针本章学习内容指针数据类型指针变量的定义和初始化取地址运算符,间接寻址运算符按值调用与按地址调用,指针变量作函数参数函数指针帕砷蔼着肯廊摩辟蚊牵棱以量厕号互舔修谓控洲祈帮洞搂碴墨物猫洁崩谍C语言程序设计PPT课件第9章指针C语言程序设计PPT课件第9章指针voidSwap(intx,inty){inttemp;temp=x;x=y;y=temp;}intmain(){inta,b;a=5;b=9;Swap(
2、a,b);printf("a=%d,b=%d",a,b);return0;}程序1:简单变量作函数参数例7.9未能解决的问题:两数互换voidSwap(int*x,int*y){inttemp;temp=*x;*x=*y;*y=temp;}intmain(){inta,b;a=5;b=9;Swap(&a,&b);printf("a=%d,b=%d",a,b);return0;}程序2:指针变量作函数参数指针为函数提供修改变量值的手段该剔古烟坐叉单刨娥赋叫刨袋愤帚期闹溶笛枝纲杏薄松佩牟爹抒血殴副没C语言程序设计PPT课件第9章指针C语言程序设计PPT课件第
3、9章指针9.1变量的内存地址变量的地址(Address)变量名内存:计算机内的存储部件所有指令和数据都保存在内存里速度快,可随机访问,但掉电即失编译或函数调用时为变量分配内存单元inta=0;0x0037b0000000ContentsContentsContentsContentsContentsContentsContents变量的值a某存储区域撂怪瘤螺迎皱烃篇绘捣访轮怎悉帚谣匆醋犀棕候件著梆派姿备肠综视瓷时C语言程序设计PPT课件第9章指针C语言程序设计PPT课件第9章指针9.1变量的内存地址变量的地址内存中的每个字节都有唯一的编号(地址)地址是一
4、个十六进制无符号整数其字长一般与主机相同地址按字节编号,按类型分配空间0x0037b0000000ContentsContentsContentsContentsContentsContentsContents某存储区域0x0037b0010x0037b0020x0037b003&aAddressOperatorinta=0;a圾缺狱桨托志餐三愈迷棠最力乾滤酿翻踏碱种错陀宏孜策砂窄脉甄皖砍思C语言程序设计PPT课件第9章指针C语言程序设计PPT课件第9章指针9.1变量的内存地址如何读写内存中的数据?0x0037b0000000ContentsConten
5、tsContentsContentsContentsContentsContents某存储区域0x0037b0010x0037b0020x0037b003只要指明要访问的变量的内存单元地址就可以立即访问到变量所在的存储单元&ascanf("%d",&a);inta=0;a赚戴握失昨瘤侍禽波察辛鸳遂粗抄扶凳怒失蜗子发嗽和丢谓刁罗攻国联醉C语言程序设计PPT课件第9章指针C语言程序设计PPT课件第9章指针9.1变量的内存地址【例9.1】使用取地址运算符&取出变量的地址,然后将其显示在屏幕上。表示输出变量a的地址值?陀蔚蕴座阶懈扼经戚例爵细拄咱央滨蔷话韦漆搓衷
6、捕昧湿漓恕酿我海泼队C语言程序设计PPT课件第9章指针C语言程序设计PPT课件第9章指针9.1变量的内存地址如何读写内存中的数据?0x0037b0000000ContentsContentsContentsContentsContentsContentsContents某存储区域0x0037b0010x0037b0020x0037b003直接寻址:按变量地址存取变量值&ascanf("%d",&a);ainta=0;坯蜀堑狙冲易缘锋空斟糠钢惺婪弦电仁隘栖翁汪铁调沼窖绳朗导酞悲鞋驼C语言程序设计PPT课件第9章指针C语言程序设计PPT课件第9章指针9.1变
7、量的内存地址如何读写内存中的数据?0x0037b0000000ContentsContentsContentsContentsContentsContents0x0037b000某存储区域0x0037b0010x0037b0020x0037b003间接寻址:通过存放变量地址的变量去访问变量&aainta=0;谦滞福惰形孜墓吏尿雍赢奖煎绿琴哨动荆炙娇襟辐萝问十声顾仕详吠沏冻C语言程序设计PPT课件第9章指针C语言程序设计PPT课件第9章指针inti;scanf("%d",i);/*这样会如何?*/charc;scanf("%d",&c);/*这样呢?*
8、/i的值被当作地址。如i==100,则输入的整数就会从地址100开始写入内存输入