C语言程序设计---指针-样本教案.doc
《C语言程序设计---指针-样本教案.doc》由会员分享,可在线阅读,更多相关《C语言程序设计---指针-样本教案.doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC语言程序设计-指针-样本教案指针程序设计 指针程序设计 第一讲内容说明主要内容重点难点问题提出1指针与指针变量的概念2变量指针、一维数组指针、字符串指针3指向变量、数组、字符串的指针变量重点:变量指针和一维数组指针主要针对一维数组重点讲解通过此图讲解变量与地址的关系通过例子说明指针变量的定义和初始化应注意的问题1 指针的概念2 变量指针和一维数组指针3指向变量、一维
2、数组的指针变量1变量指针和一维数组指针的引用2指向变量、一维数组的指针变量的引用定义变量时,系统会为变量开辟相应数量的内存单元存储数据,是否可以通过内存单元对应的内存地址来访问内存单元中存储的数据呢?如果可以的话,如何来实现呢?一、间接访问与直接访问举例:打开A抽屉方法直接访问:将A钥匙带在身上,需要时直接打开间接访问:将A钥匙放在B抽屉,需要时,打开B抽屉取出A钥匙,打开A抽屉。二、指针与地址1什么是指针定义:指针就是地址。2内存单元和地址内存单元地址:计算机内部存储器由很多内存单元组成,每个内存单元都有自己唯一的地址编码,称内存单元地址。3变量与地址当一个变量只占用一个内存单元时,内存单元
3、的地址就是变量的地址;当变量占用连续的若干个内存单元时,最前面一个单元的地址就是该变量的地址。例:int i=3;float f;内存单元地址 整型变量i2001 32002。 2008 单精度变量f20092010变量i的地址:2001,变量f的地址:2008由于地址起到寻找操作对象的作用,像一个指向对象的指针,所以常把地址称为“指针”。4数组与地址数组元素要占用连续的内存单元。数组类型不同,每个数组元素占用的内存单元数也不同。数组占用的总单元数=数组长度每个数组元素占用的内存单元数。数组元素ai的地址=数组首地址+i数组元素的数据类型所占用的内存单元数例:int a3=1,2,3;地址内存
4、单元 13000300130023003300430053006 整型数组元素a0 2 3 整型数组元素a1 整型数组元素a2三、指针变量1什么是指针变量定义:存放内存地址的变量称为“指针变量”。2指针变量的定义和初始化指针变量在使用前必须定义,定义的同时可以赋初值。【格式】存储类型 数据类型 *指针变量名1=初值1,;【功能】定义指向指定“数据类型”或数组的若干个指针变量,同时给这些变量赋初值。例:int a;int *p=&a;float f1,f10,*p1=&f1,*p2=f;3指针变量的引用方式(1)给指针变量赋值【格式】指针变量=地址表达式例: int i,*p;p=&i;(2)直
5、接引用指针变量名例:int i,j,*p=&i,*q;q=p;scanf(“%d,%d”,q,&j);(3)通过指针变量来引用它所指向的变量【格式】*指针变量名注意:这种引用方式要求指针变量必须有值。例如:int i=1,j=2,k,*p=&i;k=*p+j;四、取地址运算符与指针运算符取地址运算符(&):取运算对象的地址。如&a指针运算符(*):取所指向的变量或数组元素。例如:int *p,a;p=&a;则*p= =a为真。五、指向一维数组的指针变量的使用如何将指针变量指向数组的首地址?(1)初始化:数据类型 *指针变量=数组名(2)程序中赋值:指针变量=数组名(3)若指针变量指向某数组元素
6、:*指针变量=&数组名下标1用指向一维数组的指针变量处理数组元素(1)当指针变量指向数组的首地址,引用数组元素的方法 引用“数组元素0”: *(指针变量+0)或*指针变量 引用“数组元素i”: *(指针变量+i)(2)当指针变量指向下标为i的数组元素,引用数组元素的方法 引用“数组元素i”: *(指针变量+0)或*指针变量 引用“数组元素i-k”: *(指针变量-k) 引用“数组元素i+k”: *(指针变量+k)(3)当指针变量指向数组首地址,对下标i的数组元素引用方法 *(指针变量+i)*(数组名+i) 指针变量i数组名i2指向一维数组的指针变量的运算(1)指针变量算术运算指针变量+整数 指
7、针变量整数 +指针变量 -指针变量 指针变量+ 指针变量- 指针变量1指针变量2(2)指针变量的关系运算 指针变量1 关系运算符 指针变量2六、指向字符串的指针变量的使用1将指针变量指向字符串常量的方法例:将字符指针变量p指向“abcd”方法一:初始化形式数据类型 *指针变量=字符串常量 char *p=“abcd”;方法二:赋值语句指针变量=字符串常量 char *p;p=“abcd”;2指向字符串常量的指针变量的使用(1)处理整个字符串 输出字符串 printf(“%s”,指针变量); 输入新的字符串代替原字符串 scanf(“%s”,指针变量);(2)处理字符串中的单个字符 第i个字符的
8、表示方法: *(指针变量+i)3指向存放字符串的字符数组的指针变量的使用处理字符串中的单个字符就是处理一维数组的元素,方法同处理一维数组元素。注意:字符数组元素的类型是字符型。七、小结指向变量、一维数组、字符串的指针变量的定义和应用。八、作业数组名的特殊性实例讲解举例注意:数组名是否可以进行这些运算?两个指针变量必须指向同一数组举例指针程序设计 第 二 讲内容说明主要内容重点难点问题提出重点难点1多维数组指针和指向多维数组的指针变量的引用2函数指针和指向函数的指针变量3指针数组和多级指针主要讲二维数组指针先复习二维数组的性质为什么?1 指向二维数组的指针变量的引用2 指向函数的指针变量的引用1
9、 指向二维数组的指针变量2 指向函数的指针变量前面学习了通过指针访问一维数组,那么如何通过指针对二维数组进行访问呢?二维数组中隐含着怎样的地址关系呢?一 、指针表示二维数组1、 二维数组元素的地址int a34=1,3,5,7,9,11,13,15,17,19,21,23;二维数组a34可看成由3个一维数组a0、a1、a2组成,每个一维数组由4个元素组成。如下图所示。2313579131115171921a0a1a2aa+1a+2a0a0+1a0+2a0+323a代表二维数组首元素的地址,a0、a1、a2是一维数组名,而C语言规定数组名代表数组首元素的地址,即a0等价于&a00、a1等价于&a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 指针 样本 教案
限制150内