北大青鸟:《程序设计基础:C语言实现》课程教学资源(PPT课件讲稿)第七章 指针

CHAN 第七讲 指针 北大青鸟 P-
第七讲 指针

本节学习目标 指针与指针变量 指针的声明与使用 指针与数组间的关系 动态分配内存 北大青鸟 P-
本节学习目标 • 指针与指针变量 • 指针的声明与使用 • 指针与数组间的关系 • 动态分配内存

课前复习 维数组的定义与使用 二维数组的定义与使用 字符数组的使用 北大青鸟 P-
课前复习 • 一维数组的定义与使用 • 二维数组的定义与使用 • 字符数组的使用

数据的存储机制 内存地址 变量地址 一内存中存储单元的 系统标识变量在内 编号 存中的起始位置。 北大青鸟 P-
数据的存储机制 • 内存地址 – —内存中存储单元的 编号。 • 变量地址 – —系统标识变量在内 存中的起始位置

数据的存储机制(续) 直接访问 间接访问 #include #include void maino void mair int a b sum=0 int a, b, su; int*p_1,*p_2; printi("请输入a和b的值: printi("请输入a和b的值: scanf("%od, %od", &a, &b) scanf("%od, %od", &a, &b) p 1=&a; p 2=&b sum=a+b sum=*p 1+*p 2 printf sum od\n", sum) printf("sum=% n",sum) 北大青鸟 P-
数据的存储机制(续) • 直接访问 – #include – void main() – { – int a,b,sum; – printf("请输入a和b的值: "); – scanf("%d,%d",&a,&b); – sum=a+b; – printf("sum=%d\n",sum); – } • 间接访问 – #include – void main() – { – int a,b,sum=0; – int *p_1,*p_2; – printf("请输入a和b的值: "); – scanf("%d,%d",&a,&b); – p_1=&a;p_2=&b; – sum=*p_1+*p_2; – printf("sum=%d\n",sum); – }

指针的功能 方便一个函数向另一个函数的过渡 能通过指针的移动来改变指针所指向的 数据,不需要去移动变量或数组。 可以实现动态内存的更新。 北大青鸟 P-
指针的功能 • 方便一个函数向另一个函数的过渡。 • 能通过指针的移动来改变指针所指向的 数据,不需要去移动变量或数组。 • 可以实现动态内存的更新

指针与指针变量 什么是指针? 指针变量 变量的内存地址。 用来存放变量地址的 变量 变量值 56 1000 指针 1000 (内存地址) a→变量名b→指针变量 北大青鸟 P-
指针与指针变量 • 什么是指针? – 变量的内存地址。 • 指针变量 • 用来存放变量地址的 变量。 56 a 变量名 1000 (内存地址) 变量值 1000 b 指针 指针变量

指针声明 格式 数据类型*指针变量名; 北大青鸟 P-
指针声明 • 格式 数据类型 *指针变量名;

基类型:指针所指 向的数据类型。决 定了指针每次移动 声明注意事项 的步长。 *”表示声明的指针变量,不是代表指针 运算符。 *”前必须指定数据类型(基类型), 其主要功能是指指针所指向对象的数据 类型 北大青鸟 P-
声明注意事项 • “*”表示声明的指针变量,不是代表指针 运算符。 • “*”前必须指定数据类型(基类型), 其主要功能是指指针所指向对象的数据 类型。 基类型:指针所指 向的数据类型。决 定了指针每次移动 的步长

指针的赋值与引用 指针运算符 &—求址运算符(….的地址 *—指针运算符 地址中的值 北大青鸟 P-
指针的赋值与引用 • 指针运算符 – &——求址运算符(……的地址) – *——指针运算符(……地址中的值)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(教案讲义)第七讲 数据存储机制.doc
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(PPT课件讲稿)第一章 C语言基础.ppt
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(教案讲义)第一讲 C语言基础.doc
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(教案讲义)作业:电话号码存储系统.doc
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(教案讲义)常见错误讲解.doc
- 全国计算机二级C语言常考题型专题讲义.doc
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(教案讲义)课程内容.doc
- 《计算机文化基础》课程电子教案(PPT课件讲稿)第五章 计算机网络基础及 Internet.ppt
- 《计算机文化基础》课程电子教案(PPT课件讲稿)第一章 计算机文化导论.ppt
- 《计算机文化基础》课程电子教案(PPT课件讲稿)第二章 数的表示与编码.ppt
- 《计算机文化基础》课程电子教案(PPT课件讲稿)第六章 WORD2000入门.ppt
- 《计算机文化基础》课程电子教案(PPT课件讲稿)第三章 Windows基础与中文输入法.ppt
- 《计算机文化基础》课程电子教案(PPT课件讲稿)第九章 PowerPoint介绍.ppt
- 《计算机文化基础》课程电子教案(PPT课件讲稿)第七章 EXel2000入门.ppt
- 《计算机文化基础》课程电子教案(PPT课件讲稿)第三章 DOS操作糸统.ppt
- 《软件工程》课程教学资源(原理方法与应用)软件工程教学大纲.doc
- 《软件工程》课程PPT教学课件(原理方法与应用)第十二章 软件项目计划、第十三章 软件工程管理、第十四章 软件质量管理、第十五章 软件工程环境.ppt
- 《软件工程》课程PPT教学课件(原理方法与应用)第六章 面向对象的设计、第七章 统一建模语言UML、第八章 编码和语言选择、第九章 软件测试、第十章 软件复用、第十一章 软件维护.ppt
- 《软件工程》课程PPT教学课件(原理方法与应用)第一章 绪论、第二章 软件开发模型、第三章 软件需求分析、第四章 软件设计概述.ppt
- 软件设计文档国家标准:《项目开发计划》(GB856T——88).doc
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(教案讲义)第三讲 运算与顺序结构.doc
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(PPT课件讲稿)第三章 运算符与表达式.ppt
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(PPT课件讲稿)第九章 函数.ppt
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(教案讲义)第九讲 函数.doc
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(教案讲义)第二讲 数据类型与算术运算.doc
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(PPT课件讲稿)第二章 数据类型与运算符.ppt
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(PPT课件讲稿)第五章 循环结构.ppt
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(PPT课件讲稿)第七章(7-2)指针与指针变量.ppt
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(PPT课件讲稿)第六讲 数组.ppt
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(教案讲义)第六讲 数组.doc
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(PPT课件讲稿)第十一章 复杂数据类型及排序.ppt
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(PPT课件讲稿)第十二章 文件.ppt
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(PPT课件讲稿)第四章 第四讲 分支结构.ppt
- 《Windows DNA应用程式》 面向对象分析与设计讲义.ppt
- 《JAVA OOP开发》英文版 Introduction to Computers and Programming Languages.ppt
- 《JAVA OOP开发》英文版 Chapter 1 Introduction to Object-oriented Programming and Software Development.ppt
- 《JAVA OOP开发》英文版 Chapter 2 Java Programming Basics.ppt
- 《JAVA OOP开发》英文版 Chapter 3 Numerical Data.ppt
- 《JAVA OOP开发》英文版 Chapter 4 Defining Instantiable Classes.ppt
- 《JAVA OOP开发》英文版 Chapter 5 Processing Input with Applets.ppt