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

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

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

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

课前练习 若有以下定义语句 float a[1l={0,1,2,3,4,5,6,7,8,9,10 以下描述错误的是() A)a数组在内存中占44个字节 ·B)a数组的最后一个元素是a[0 C)a数组的第一个元素是aO] D)以上定义语句给a数组所赋初始值 是整数,因此不能正确赋初始值 北大青鸟 P-
课前练习 • 1.若有以下定义语句: • float a[11]={0,1,2,3,4,5,6,7,8,9,10} • 以下描述错误的是() • A)a数组在内存中占44个字节. • B) a数组的最后一个元素是a[10]. • C) a数组的第一个元素是a[0] • D)以上定义语句给a数组所赋初始值 是整数,因此不能正确赋初始值.

数据的存储机制 内存地址 变量地址 一内存中存储单元的 系统标识变量在内 编号 存中的起始位置。 北大青鸟 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-
声明注意事项 • “*”表示声明的指针变量,不是代表指针 运算符。 • “*”前必须指定数据类型(基类型), 其主要功能是指指针所指向对象的数据 类型。 基类型:指针所指 向的数据类型。决 定了指针每次移动 的步长
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(PPT课件讲稿)第五章 循环结构.ppt
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(PPT课件讲稿)第二章 数据类型与运算符.ppt
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(教案讲义)第二讲 数据类型与算术运算.doc
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(教案讲义)第九讲 函数.doc
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(PPT课件讲稿)第九章 函数.ppt
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(PPT课件讲稿)第三章 运算符与表达式.ppt
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(教案讲义)第三讲 运算与顺序结构.doc
- 北大青鸟:《程序设计基础:C语言实现》课程教学资源(PPT课件讲稿)第七章 指针.ppt
- 北大青鸟:《程序设计基础: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
- 北大青鸟:《程序设计基础: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
- 《JAVA OOP开发》英文版 Chapter 6 Selection statements.ppt
- 《JAVA OOP开发》英文版 Chapter 7 Repetition Statements.ppt
- 《JAVA OOP开发》英文版 Chapter 8 Characters and strings.ppt
- 《JAVA OOP开发》英文版 Chapter 9 objectives.ppt
- 《JAVA OOP开发》英文版 Chapter 10 Sorting and Searching.ppt
- 《JAVA OOP开发》英文版 Chapter 11 File Input and Output.ppt
- 《JAVA OOP开发》英文版 Chapter 12 Reusable classes and packages.ppt
- 《JAVA OOP开发》英文版 Chapter 13 GUI Objects and Event-Driven Programming.ppt