当前位置:文档之家› 第7章 指针与文件.ppt

第7章 指针与文件.ppt

第七章 指针与文件,【主要内容】,指针的意义、指针与数组的关系。 文件的种类、文件的各种操作方法。,【学习重点】,用指针处理数组,特别是字符型数组。文件读写的8个函数。,第四节 文件的读写,第一节 指针及其定义,第二节 指针与数组,第三节 C文件概述,第七章 指针与文件,第一节 指针及其定义,一、指针的意义,指针就是地址。指针变量是一种专门存放其它变量在内存中的地址的特殊变量,它的值是变量的地址(而非变量的值!)。内存空间被划分成若干个大小相同(1个字节)的存储单元,并为每一个存储单元安排一个编号,这个编号被称为内存地址。,第一节 指针及其定义,二、指针的定义与运算,指针既然称为变量,当然应遵守变量的有关规则,如先定义后赋值再使用等。其定义格式是:,类型 *指针变量名;,2. 深入理解两个运算符:* 与 pr= },第一节 指针及其定义,【融会贯通】 从键盘上输入任意矩形的长、宽,求它的周长和面积。,第一节 指针及其定义,想一想,该怎样编写这个程序呢?,3.指针的运算,第一节 指针及其定义,指针变量可以进行的运算主要有算术运算、增量运算、关系运算等。设有下行定义,,int *p, *p1, *p2, a, n, v;,p++,p--,++p,--p 结果是指向下一个(或上一个)数据的地址,而不是指向下一个(或上一个)地址单元。,p + n:表示 p + n * sizeof( 指针类型 ),即从p算起,后边第n个数的地址。,p - n:表示 p - n * sizeof( 指针类型 ),即从p算起,前边第n个数的地址。,第一节 指针及其定义,v=*p++:等价 v=*(p++),先取p单元值赋给变量v,然后p自增1。v=*++p:等价 v=*(++p),p先自增指向下一数据单元,再取该单元值赋给变量v。v=(*p)++:将(*p)值先赋给v,然后(*p)的内容再增1。v=++(*p):将(*p)内容增1后赋给v。p1 - p2:两指针地址值之差 ÷ sizeof(指针类型),结果表示两个地址之间能够存放某种类型数据的个数,当然数据类型与指针的类型须一致。,当 * 与++、--结合时应注意其优先顺序和结合性:三个运算符优先级相同,但结合顺序是从右向左,为避免歧义,书写时请加括号以区别。,例如:,【例7-2】 分析下列语句是否正确。,第一节 指针及其定义,① int i;char *p=,课堂练习7.1要求用指针处理:求一元二次方程ax2+bx+c=0的实根。,第一节 指针及其定义,想一想,该怎样编写这个程序呢?,第二节 指针与数组,一、指针与一维数组,1. 指针与数值型一维数组,int x[ ]={ 1, 2, 3, 4, 5, 6, 7, 8, 10 }, *p=x;,数组元素x[i]的等价表示是:p[i]、*(p+i)、*(x+i)。,如果要把x[i]元素的地址赋给p,可以这样写:p=x+i或 p=p=a;for ( i=0; i 5; i++ ) printf(“\n %0x单元:%d, %d, %d, %d“, p+i, a[i], *(a+i), p[i]

相关主题
文本预览
相关文档 最新文档