欢迎来到天天文库
浏览记录
ID:50320631
大小:711.50 KB
页数:137页
时间:2020-03-08
《C语言程序设计实用教程 教学课件 作者 周虹 课件第9章 指针.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言程序设计实用教程第9章指针1佳木斯大学本章学习目标掌握指针与指针变量的概念,熟练使用指针与地址运算符掌握变量、数组、字符串、函数、结构体的指针以及指向变量、数组、字符串、函数、结构体的指针变量。通过指针引用以上各类型数据掌握用指针作函数参数掌握返回指针值的指针函数掌握指针数组,指向指针的指针,main函数的命令行参数2佳木斯大学【教学目的】1、掌握直接访问和间接访问、指针的概念2、掌握指针变量的概念,熟练使用指针与地址运算符3、掌握指向变量指针的定义和使用3佳木斯大学【主要内容】1、相关概念2、指针变量的定义和使用3、指针变量作函数参数4佳木斯大
2、学【重点与难点】1、间接访问的概念、指针变量作函数参数是难点2、指针的概念、指针变量的定义和使用和指针变量作函数参数是重点5佳木斯大学【教学方法】采用理论讲解、形象教学方法6佳木斯大学【教学内容】带着问题学习:1)什么是直接访问和间接访问2)指向变量的指针如何定义?指针有哪些运算?3)指针变量作函数参数时如何进行参数传递?7佳木斯大学指针指针是C语言中的一个重要的概念,也是C语言的一个重要特色。正确而灵活地运用它,可以有效地表示复杂的数据结构,能动态分配内存,能方便地使用字符串,有效而方便地使用数组,在调用函数时能得到多于一个的值,能直接处理内存地址等
3、,这对设计系统软件是很必要的。8佳木斯大学9.1相关概念9.1.1变量的地址如果在程序中定义了一个变量,在编译时就给这个变量分配内存单元。系统根据程序中定义的变量类型,分配一定长度的空间。9佳木斯大学9.1相关概念如图9-1所示。假设程序中已定义了3个整型变量i、j、k,编译时内存用户数据区系统分配2000和2001两个字节给变量i,2002和2003字节给变量j,2004和2005给变量k。如果执行赋值语句i=3;j=6;k=9;则3、6、9分别是i、j、k的值,而2000、2002、2004分别是i、j、k的地址。……20003变量i20026变量
4、j20049变量k……30102000变量i_pointer……内存用户数据区图9-1内存单元地址与内容10佳木斯大学9.1相关概念直接访问--按名存取一般程序中通过变量名对内存数据进行存取操作,实质上是程序经编译后将变量名转变为内存地址.inta0x10010x10030x10050x10070x10090x100B0x100D0x100F0x1011内存空间11佳木斯大学9.1相关概念int*pa0x10010x10030x10050x10070x10090x100B0x100D0x100F0x1011内存空间0x100F指针变量指针指向间接访问-
5、-地址访问从另一个内存空间首先获取被访问的地址,再进行存取操作.12佳木斯大学9.1相关概念9.1.3指针和指针变量一个变量的地址称为该变量的指针。例如,地址2000是变量i的指针。如果有一个变量专门用来存放另一变量的地址(即指针),则其称为指针变量。上述的i_pointer就是一个指针变量。注意区分指针和指针变量这两个概念。例如,可以说变量i的指针是2000,而不能说i的指针变量是2000。13佳木斯大学9.2指针变量的定义和使用变量的指针就是变量的地址。存放变量地址的变量是指针变量,用来指向另一个变量。为了表示指针变量和它所指向的变量之间的联系,在
6、程序中用“*”符号表示“指向”,14佳木斯大学9.2指针变量的定义和使用9-2-1指针变量的定义定义指针变量的一般形式为:基类型*指针变量名下面都是合法的定义:float*pointer_3;(pointer_3是指向实型变量的指针变量)char*pointer_4;(pointer_4是指向字符型变量的指针变量)15佳木斯大学9-2变量的指针和指向变量的指针变量9-2-1指针变量的定义(1)指针变量前面的“*”,表示该变量的类型为指针型变量。注意:指针变量名是pointer_l、pointer_2,而不是*pointer_l、*pointer_2。(
7、2)在定义指针变量时必须指定基类型。指针变量所指向的变量的类型,即基类型。一个指针变量只能指向同一个类型的变量。16佳木斯大学9.2指针变量的定义和使用9.2.2指针变量的初始化和赋值指针变量在定义的同时也可以初始化。在C语言中,变量的地址是由编译系统分配的,对用户完全透明,用户不知道变量的具体地址。变量地址可以通过取地址运算符“&”来获得。运算对象是变量或数组元素,运算结果是对应变量或数组元素的地址。例如:intk=1;*p=&k;它有两个含义,一是定义指针变量p,二是给指针变量p赋初值取k的地址,相当于int*p;p=&k;17佳木斯大学9.2指针
8、变量的定义和使用一个指针变量可以通过不同的方式获得一个确定的地址值,从而指向一个具体的对象。1
此文档下载收益归作者所有