私立华联学院:《C语言程序设计》课程电子教案(PPT课件)第六章 指针

语者功设计 第6章指针 Ac
第 6 章 指针 C 语言项目设计 教程

任务1了解指针 任务分析: 熟悉指针的概念,掌握指针变量 的定义和引用以及指针作为函数参数 的用法。 BACK ◆→
任务分析: 熟悉指针的概念,掌握指针变量 的定义和引用以及指针作为函数参数 的用法。 任务1 了解指针

6.1.1地址和指针的概念 ◆地址 一计算机内存是以字节为单位的存储空间,内存的 每一个字节都有一个唯一的编号,这个编号就称 为地址。 - 按变量地址存取变量值的方式称为“直接访问” 方式。 一将一个变量的地址存放在另一个内存单元(即变 量)中,然后通过存放地址的变量来引用变量, 这种存放地址的变量是一种特殊的变量,我们称 它为指针变量。 BACK
地址 – 计算机内存是以字节为单位的存储空间,内存的 每一个字节都有一个唯一的编号,这个编号就称 为地址。 – 按变量地址存取变量值的方式称为“直接访问” 方式。 – 将一个变量的地址存放在另一个内存单元(即变 量)中,然后通过存放地址的变量来引用变量, 这种存放地址的变量是一种特殊的变量,我们称 它为指针变量。 6.1.1 地址和指针的概念

地址 内存单元 1010 a 1011 b 变量名 b 1012 66 1013 1014 地址 1011 1015 1016 1017 a)各变量在内存的地址 b)按变量b地址存放变量值 图6.2直接访问方式 BACK

地址 内存单元 1010 ◆1011 66 1012 b 1013 1014 1015 1016 1017 变量名P 变量名b 1011 2000 1011 地址2000 1011 2002 a)通过指针p指向的变量b存放变量值 b)各变量在内存的地址和用指针寻址 图6.3间接访问方式 BACK

6.1.2指向变量的指针变量 指针变量的定义 -用来存放数据地址的变量叫指针变量。指针 变量和其它类型的变量一样,也必须先定义 后使用。 - 定义格式: 数据类型*变量名[=地址表达式]: “数据类型”表示该指针可以指向何种类型的 数据,指针本身则是整型。“*”是一个说明 符,表示定义指针变量。 例如:intx,*pointer1;pointer1-=&x; 则pointer1表示x的内存地址
指针变量的定义 – 用来存放数据地址的变量叫指针变量。指针 变量和其它类型的变量一样,也必须先定义 后使用。 – 定义格式: 数据类型 *变量名[=地址表达式]; – “数据类型”表示该指针可以指向何种类型的 数据,指针本身则是整型。“*”是一个说明 符,表示定义指针变量。 – 例如:int x,*pointer1; pointer1=&x; 则pointer1表示x的内存地址。 6.1.2 指向变量的指针变量

练一练 ◆定义单精度浮点型变量a、指针变量p。 BACK ◆
练一练 定义单精度浮点型变量a、指针变量p

指针变量的引用 一1、与指针有关的两个运算符&和* (1)运算符& 取地址运算符,即取其操作数的内存地址。 一目运算符,优先级和结合性与+、-相同。 一般形式:&变量名或&数组元素名 如:&x 运算结果是x的地址 &a1运算结果是数组元素a[1]的地址 -例:定义intx,*y=&x, x的地址是3000,x的值是10,y=3000 思考:若x的值是100,y的值? BACK
指针变量的引用 – 1、与指针有关的两个运算符&和* – (1)运算符& 取地址运算符,即取其操作数的内存地址。 一目运算符,优先级和结合性与++、--相同。 一般形式:&变量名或&数组元素名 如:&x 运算结果是x的地址 &a[1] 运算结果是数组元素a[1]的地址 – 例:定义int x,*y=&x; x的地址是3000,x的值是10,y=3000 思考:若x的值是100,y的值?

(2)运算符* (间接)访问地址运算符,又称指针运算符, 取其变量的值。 一目运算符,优先级和结合性与++、-相同。 一般形式:*变量名 如:*p*q BACK
(2)运算符* – (间接)访问地址运算符,又称指针运算符, 取其变量的值。 一目运算符,优先级和结合性与++、--相同。 一般形式:*变量名 如:*p *q

2、指针指向对象(要访问的数据)的方法 (1)指针初始化 例:inta,*p=&a;/*指针p指向整型变量a*/ float x,y,*pl=&x,*p2=&y;/*指针pl和p2分 别指向实型变量x、y*/ intb[10],*q=b;/*指针q指向整型数组b*/ 2)用赋值语句给指针赋值 例:inta,b[l0],*p,*q p=&a, q-b; 注意:赋值语句中的指针前面不带 “*”号。 BACK
2、指针指向对象(要访问的数据)的方法 (1)指针初始化 例:int a,*p=&a; /* 指针p指向整型变量a */ float x,y,*p1=&x,*p2=&y; /* 指针p1和p2分 别指向实型变量x、y */ int b[10], *q=b; /* 指针q指向整型数组b */ (2)用赋值语句给指针赋值 例:int a,b[10],*p,*q; p=&a; q=b; 注意:赋值语句中的指针前面不带“*”号
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 私立华联学院:《C语言程序设计》课程电子教案(PPT课件)第八章 文件.ppt
- 私立华联学院:《C语言程序设计》课程电子教案(PPT课件)第五章 函数.ppt
- 私立华联学院:《C语言程序设计》课程电子教案(PPT课件)第七章 结构体和共同体.ppt
- 私立华联学院:《C语言程序设计》课程电子教案(PPT课件)第二章 数据类型与运算符.ppt
- 私立华联学院:《C语言程序设计》课程电子教案(PPT课件)第三章 结构化程序设计.ppt
- 私立华联学院:《C语言程序设计》课程电子教案(PPT课件)第一章 初识C语言(负责人:周鹏梅).ppt
- 私立华联学院:《C语言程序设计》课程教学资源(教案讲义)课程标准(适用专业:物联网应用技术).pdf
- 私立华联学院:《C语言程序设计》课程教学资源(教案讲义)应用案例.pdf
- 私立华联学院:《C语言程序设计》课程教学资源(教案讲义)教学大纲.pdf
- 南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)10_Simply-Typed Lambda Calculus.pptx
- 南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)Separation Logic(3/3).ppt
- 南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)Separation Logic(2/3).ppt
- 《程序设计语言的形式语义》课程教学资源(文献资料)An Introduction to Separation Logic(Preliminary Draft).pdf
- 南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)09_Shared-Variable Concurrency.pdf
- 南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)Separation Logic(1/3).ppt
- 南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)07_Axiomatic Semantics and Hoare Logic.pdf
- 南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)06_Denotational Semantics.pdf
- 《程序设计语言的形式语义》课程教学资源(文献资料)Lecture Notes on the Lambda Calculus.pdf
- 南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)05_Operational Semantics.pdf
- 南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)04_Lambda Calculus.pptx
- 私立华联学院:《C语言程序设计》课程电子教案(PPT课件)第四章 数组.ppt
- 私立华联学院:《Python语言程序设计》课程教学资源(教案讲义)课程标准(适用专业:软件技术).pdf
- 私立华联学院:《Python语言程序设计》课程教学资源(教案讲义)课程教学设计(负责人:尹菡).pdf
- 《Python语言程序设计》课程教学资源(拓展资源)Python练习实例(Python 100例).pdf
- 《Python语言程序设计》课程教学资源(拓展资源)零基础Python上手编程(2020版).pdf
- 私立华联学院:《Python语言程序设计》课程教学资源(实习实验)Python编程基础实验指导手册.pdf
- 《Python语言程序设计》课程教学资源(教案讲义)Python学习参考教材(共十一单元).pdf
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第1单元 初识Python的世界(负责人:尹菡).pptx
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第2单元 Python基础知识.pptx
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第3单元 Python字符串输入输出.pptx
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第4单元 Python的组合数据类型.pptx
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第5单元 Python程序的流程控制.pptx
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第10单元 Python异常处理.pptx
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第11单元 Python的模块使用与程序打包.pptx
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第12单元 实战——用Python玩微信.pptx
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第6单元 用函数实现代码复用.pptx
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第7单元 正则表达式.pptx
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第8单元 面向对象编程.pptx
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第9单元 文件操作.pptx
- 私立华联学院:《Illustrator计算机辅助设计》课程教学资源(课件讲稿)课程标准(主讲:沈秀珍).pdf