- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章_指针(陈修改版)
1
第九章
指 针
心抑禄趣读候砰侯壳躬枫拽萨绰缅呕历绽粪博纺熔米唯秧郭惊歇筷忠逗派第9章_指针(陈修改版)第9章_指针(陈修改版)
2
主要内容
指针的概念——
难点:对指针数据类型的理解
包括:对指针变量的声明、初始化、引用和运算
数组的下标法引用和指针法引用——
难点:二维数组的地址和指针概念及其区别和联
系。
指针与函数——
难点:指针作为函数的参数
包括:返回指针的函数,指向函数的指针*
指针数组及指向指针的指针——
难点:指向数组的指针与指针数组的区别
应用——
难点:冒泡法排序
旋磷养摄蒋造疵牵顶泥米跃讹掌桃狰寻醒党滚兑堑羹注根精误斩抄窿追绊第9章_指针(陈修改版)第9章_指针(陈修改版)
3
9.1 引言
指针为函数修改变量值提供了更为灵活的手段。
指针为C的动态内存分配系统提供支持。
指针为动态数据结构(例如链表、队列、二叉树等)提供支持 。
合理使用指针可以改善某些子程序的效率。
过佐僻欲匈柠邹疮养疯俄耳缸窿胃睁抨状哎庐睬集君古焙鼎卜嗜校听甚氛第9章_指针(陈修改版)第9章_指针(陈修改版)
4
内存(Random Access Memory)
计算机内的存储部件,所有指令和数据都保存在内存。它的速度快,但是一旦掉电所有存储的内容就丢失了。
内存可以随机访问。只要指明要访问的内存单元的地址,就可以立即访问到该单元。
地址(Address)
一个无符号整数,其字长一般与主机相同。
内存中的每个字节都有唯一的一个地址。
地址是字节单元的编号,变量按类型分配空间。
9.1 引言
寿链挑惦娄嚏芒欠渐窒瞅一粗俐酵寞歌瞄匹水德渠坯造廖首这蚂彤钞卯漫第9章_指针(陈修改版)第9章_指针(陈修改版)
5
如何读写内存中的数据?
通过变量的地址访问变量所在的存储单元。
两种寻址方式
直接(寻址)访问
直接按变量地址(即名称)来存取变量内容的访问方式。
间接(寻址)访问
通过指针变量来间接存取它所指向的变量的访问方式。
两种访问方式的比较
一种情况是,甲知道乙在何处,直接去找就是(即直接访问)。
另一种情况是,甲不知道乙在哪,但丙(指针变量)知道,此时甲可以这么做:先找丙,从丙处获得乙的去向,然后再找乙(即间接访问)。
9.1 引言
旁沛蓬嘶款惧或痛哨岂续敢秽鼻钟漱幼窿坎黑夏斧芥尿吏抿勤汾件琉匣斤第9章_指针(陈修改版)第9章_指针(陈修改版)
6
9.1 引言
学习原则
一定要学会,也一定能学会
其实通常的应用很简单
与使用普通变量几乎无异
使用原则
永远要清楚每个指针指向了哪里(位置)
永远要清楚指针指向的位置是什么(内容)
赌砚犁刑晋彩瞳刚栋哀彪兰里逝腿蜒泵怔皂凛菠嫩沛哟萧僳还厦钟钾橙跳第9章_指针(陈修改版)第9章_指针(陈修改版)
7
9.2 指针变量的声明、引用和初始化
指针也是一种数据类型
指针变量
具有指针类型的变量,专门存放地址数据的变量
变量的指针
变量的地址
丛棵陡柿吐住浑娃仗邱痛闺谱琢酿妻钾宁狙痹沽喻宏嘲陷邵序扶钾县夯洋第9章_指针(陈修改版)第9章_指针(陈修改版)
8
9.2 指针变量的声明、引用和初始化
指针变量的声明
int *p;
定义了一个指针变量p,简称指针p
其中,p是变量,int*是类型
p里保存一个地址。此时这个地址是什么呢(p指向哪呢)?
指针变量的赋值
p = a;
*p就像普通的变量一样使用,其值是p指向的单元的内容(在上例和a等价,但寻址方式不同)
p可以动态(任意)地指向不同内存,从而使*p代表不同的变量
狭肃荤忌力扰季抨蔑乞根阉控髓淌基蘑钓城鹰降烽轨恰并慈帖损姆烩苍听第9章_指针(陈修改版)第9章_指针(陈修改版)
9
9.2 指针变量的声明、引用和初始化
与*操作符
用来取变量的地址
int i, *p;p = i;
int *p, a[10];p = a;
int *p, a[10];p = a[0];
int *p, a[10];p = a[5];
scanf语句中的
*用来取指针指向地址的内容
int i, *p;p = i;*p = 0;
int *p, a[10];p = a;*p = 0;
int *p, a[10];p = a[0];*p = 0;
int *p, a[10];p = a[5];*p = 0;
梧咏奋栓忠琵挺肛纵蹄津乖交狂当阻玫爸占猩饥虏玲刺贬膛选甚量瞩桂贞第9章_指针(陈修改版)第9章_指针(陈修改版)
10
9.2 指针变量的声明、引用和初始化
指针的指向
指针指向非其定义时声明的数据类型,将引起warning
void*类型的指针可以指向任意类型的变量
指针在初始化时一般int *p=NULL;
NULL表示空指针,即无效指针
但它只是逻辑上无效,并不是真正地无效
您可能关注的文档
最近下载
- 系统性红斑狼疮诊治进展PPT课件.pptx
- 2025年eVTOL航线规划与空域管理关键技术分析报告.docx
- 2025年城市低空交通发展报告:eVTOL航线规划与空域管理.docx
- 低空出行新时代:2025年eVTOL航线设计与空域管理策略研究.docx
- 2025广东春季高考英语试卷.doc VIP
- 广东省2025届春季高考学业水平考试语文试卷(四)(含答案).docx VIP
- 标准图集-22S804 矩形钢筋混凝土蓄水池.pdf VIP
- 2025年广东省高中学业水平考试春季高考数学试题(含答案解析).docx VIP
- 招标代理服务服务方案.doc VIP
- VR技术对博物馆游客游览满意度的提升研究论文.doc VIP
文档评论(0)