齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第7单元 指针

膏齊哈尔大学 QIQIHAR UNIVER 指针 @ 多 History Q主讲:耿蕊
指 针 主讲:耿蕊

指针 C程序设计中使用指针可以: ·使程序简洁、紧凑、高效 ·有效地表示复杂的数据结构 ·动态分配内存 ·得到多于一个的函数返回值
指针 C程序设计中使用指针可以: • 使程序简洁、紧凑、高效 • 有效地表示复杂的数据结构 • 动态分配内存 • 得到多于一个的函数返回值

\7.1指针的概念 History >变量与地址 内存中每个字节有一个编号-地址 内存 0 程序中:inti 2000 2001 i float k, 2002 编译或函数调用时为其分配内存单元 2003 2005
7.1 指针的概念 ➢变量与地址 程序中: int i; float k; 内存中每个字节有一个编号-地址 . . 2000 2001 2002 2005 内存 0 2003 i k 编译或函数调用时为其分配内存单元

7.1指针的概念 ART History >指针与指针变量 指针:一个变量的地址 ◆指针变量:专门存放变量地址的变量叫做指针变金指针 2000 整型变量1 2001 10 变量的地址 变量的内容 2002 2003 2004 4一变量 pointer 2005→ 指针变量 指针变量 变量地址(指针) 2006 指向 地址存入 变量 指针变量 变量值
7.1 指针的概念 ➢指针与指针变量 ❖指针:一个变量的地址 ❖指针变量:专门存放变量地址的变量叫做指针变量 . . 2000 2004 2006 2005 整型变量i 10 变量i_pointer 2001 2002 2003 2000 指针 指针变量 变量的地址 变量的内容 指针变量 变量 变量地址(指针) 变量值 指向 地址存入 指针变量

7.1指针的概念 History 8与*运算符 ipointer *i pointer 含义:颗黄叔:取指谢郸向变量的内空 &i pointer 2000 10 单昏解单目运算符 i 优先级:2 优先级:2 结合性:自 结合性9A 整型变量i 200I 10 Lpointer &i=&(*i_pointer) 2002 *i pointer *(& 2003 2004 ←一变量i pointer 2005+ .2000- 指针变量 2006 i_pointer-一指针变量,它的内容是地址量 i_pointer-一-一指针的目标变量,它的内客是数据 &i_pointer-一指针变量占用内存的地址
7.1 指针的概念 ➢ &与*运算符 ❖ 含义 含义: 取变量的地址 单目运算符 优先级: 2 结合性:自右向左 含义: 取指针所指向变量的内容 单目运算符 优先级: 2 结合性:自右向左 ❖ 两者关系:互为逆运算 ❖ 理解 . . 2000 2004 2006 2005 整型变量i 10 变量i_pointer 2001 2002 2003 2000 指针变量 i_pointer-指针变量,它的内容是地址量 *i_pointer-指针的目标变量,它的内容是数据 &i_pointer-指针变量占用内存的地址 2000 10 i_pointer *i_pointer &i_pointer i i_pointer &i &(*i_pointer) i *i_pointer *(&i) i_pointer = &i = &(*i_pointer) i = *i_pointer = *(&i)

7.1指针的概念 ART History >直接访问与间接访问 ÷直接访问:按变量地址存取变量值 。间接访问:通过存放变量地址的变景去访问变量 例 i=3; 直接访问 2000 整型变量i 2001 20+ 2002 2003 2004 一变量i pointer 2005 2000 指针变量 2006 例 *i pointer=20; 间接访问
7.1 指针的概念 ➢ 直接访问与间接访问 ❖ 直接访问:按变量地址存取变量值 ❖ 间接访问:通过存放变量地址的变量去访问变量 例 i=3; -直接访问 指针变量 . . 2000 2004 2006 2005 整型变量i 10 变量i_pointer 2001 2002 2003 2000 3 例 *i_pointer=20; -间接访问 20

\7.1指针的概念 History 例 k-i: 直接访问 k=*i pointer: 间接访问 . 2000 整型变量i 2001 10 2002 ←一整型变量k 2003 2004 ←一变量i pointer 2005 2000 指针变量 2006 *+++
7.1 指针的概念 指针变量 . . 2000 2004 2006 2005 整型变量i 10 变量i_pointer 2001 2002 2003 2000 整型变量k 例 k=i; -直接访问 k=*i_pointer; -间接访问 10 例 k=i; k=*i_pointer;

7.2指针变量 ART History >指针变量与其所指向的变量之间的关系 i pointer 变量i *i pointer 2000 3 &i> i pointer *ipointer *ipointer=3
7.2 指针变量 ➢ 指针变量与其所指向的变量之间的关系 3 变量i 2000 i_pointer *i_pointer i *i_pointer &i i_pointer i=3; *i_pointer=3 3 变量i 2000 i_pointer *i_pointer i *i_pointer &i i_pointer i=3; *i_pointer=3

y7.2指针变量 History >指针变量的定义 一般形式:数据类型*指针名; 例 标角水指伊变量 不0t防针)运算待 合法标识苻 注意: 1、int*p1,*p2;与int*p1,p2 2、指针变量名是p1p2,不是*p1*p2 3、指针变量只能指向定义时所规定类型的变量 4、指针变量定义后,变量值不确定,应用前必须先赋值
7.2 指针变量 ➢ 指针变量的定义 一般形式: 数据类型 *指针名; 合法标识符 指针的目标变量的数据类型 表示定义指针变量 不是‘*’(指针)运算符 例 int *p1,*p2; float *q ; 注意: 1、int *p1, *p2; 与 int *p1, p2; 2、指针变量名是p1,p2 ,不是*p1,*p2 3、指针变量只能指向定义时所规定类型的变量 4、指针变量定义后,变量值不确定,应用前必须先赋值

y7.2指针变量 ART History >指针变量的初始化 一般形式:数据类型*指针名=初始地址值; 例 int 1; 赋给指针变量, int 不暴赋分目标变量 变量必须已说明过 类型应一致 例 int i: 例 int *p=int;*p=&i; int i;int *q-p; 用已初始化指针变量作初值
7.2 指针变量 ➢指针变量的初始化 一般形式:数据类型 *指针名=初始地址值; 赋给指针变量, 不是赋给目标变量 例 int i; int *p=&i; 变量必须已说明过 类型应一致 例 int *p=&i; int i; 例 int i; int *p=&i; int *q=p; 用已初始化指针变量作初值
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第6单元 函数.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第5单元 数组.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第4单元 循环结构程序设计.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第3单元 选择结构程序设计.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第2单元 顺序结构程序设计.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第1单元 概述(主讲:耿蕊).pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学大纲 The C Programming Language(电子信息工程).pdf
- 齐齐哈尔大学:《C语言程序设计》课程教学大纲 The C Programming Language(电气工程及其自动化).pdf
- 齐齐哈尔大学:《C语言程序设计》课程教学大纲 The C Programming Language(数学与应用).pdf
- 齐齐哈尔大学:《C语言程序设计》课程教学大纲 The C Programming Language(土木工程).pdf
- 齐齐哈尔大学:《C语言程序设计》课程教学大纲 The C Programming Language(教育技术).pdf
- 齐齐哈尔大学:《C语言程序设计》课程教学大纲 The C Programming Language(物理学).pdf
- 齐齐哈尔大学:《C语言程序设计》课程授课教案(64学时).pdf
- 齐齐哈尔大学:《C++语言程序设计》课程教学课件(PPT讲稿)第3章 控制流程 3.2 分支结构.ppt
- 齐齐哈尔大学:《C++语言程序设计》课程教学课件(PPT讲稿)第3章 控制流程 3.1 顺序结构.ppt
- 《C++语言程序设计》课程教学资源(学习指导)第2章 数据类型运算符表达式 2.3 其他运算符与表达式.pdf
- 齐齐哈尔大学:《C++语言程序设计》课程教学课件(PPT讲稿)第2章 数据类型运算符表达式 2.3 其他运算符.ppt
- 《C++语言程序设计》课程教学资源(学习指导)第2章 数据类型运算符表达式 2.2 算术、关系、逻辑运算符.pdf
- 齐齐哈尔大学:《C++语言程序设计》课程教学课件(PPT讲稿)第2章 数据类型运算符表达式 2.2 算术、关系、逻辑运算符.ppt
- 《C++语言程序设计》课程教学资源(学习指导)第2章 数据类型运算符表达式 2.1 数据类型、常量、变量.pdf
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)编译预处理.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第8单元 结构体与共用体.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)位运算.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第9单元 文件.pptx
- 清华大学:《土木工程CAD技术基础》课程教学课件(讲稿)工程计算机制图——建筑施工图.pdf
- 清华大学:《土木工程CAD技术基础》课程教学课件(讲稿)AutoCAD图形系统的应用和开发.pdf
- 清华大学:《土木工程CAD技术基础》课程教学课件(讲稿)计算机图形技术.pdf
- 清华大学:《土木工程CAD技术基础》课程教学课件(讲稿)工程计算机制图——工程制图基础.pdf
- 山东理工大学:《数据结构》课程教学课件(数学)CH10 排序.pdf
- 山东理工大学:《数据结构》课程教学课件(数学)CH9 查找表.pdf
- 山东理工大学:《数据结构》课程教学课件(数学)CH7 图.pdf
- 山东理工大学:《数据结构》课程教学课件(数学)CH6 树和二叉树.ppt
- 山东理工大学:《数据结构》课程教学课件(数学)CH5 数组和广义表.ppt
- 山东理工大学:《数据结构》课程教学课件(数学)CH4 串.ppt
- 山东理工大学:《数据结构》课程教学课件(数学)CH3 栈和队列.pdf
- 山东理工大学:《数据结构》课程教学课件(数学)CH2 线性表.ppt
- 山东理工大学:《数据结构》课程教学课件(数学)CH1 绪论(主讲:殷超).ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第一章 计算机组成概述.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)HTML网页设计基础.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)PHP网页程序设计.ppt