C语言程序设计
1 2015-6-8
第五章 一级指针与一维数组
主讲: 计算机学院 朱立华
2 2015-6-8
内容提要
内容提要
直接引用与间接引用的不同方式及实质
指针是地址的类型,是对地址进行的一种类型抽象,用
来实现间接访问,掌握以下指针的知识
指针类型与指针的基类型
指针的基本操作:间接引用、加减整数、逻辑及关系运算
指针与一维数组的关系,如何用指针操作一维数组
一维数组专用于一批类型相同的变量的处理
一维数组的定义及初始化,一维数组的基类型(数组的元素
类型)与指针基类型的一致性,一维数组名就是指针常量
访问一维数组元素的方式——间接引用方式,可随机访问
一维数组元素在内存中的存储方式,可随机访问元素的实质
一维数组中的常见操作及算法:输入、输出、逆置、查找、
插入、删除、排序
2015-6-8 3
2015-6-8 3
间接引用的必要性
间接引用的必要性
内容回顾:int m; 表示定义一个变量,m是变量名,
即变量空间名,直接用m访问的是变量空间中的内容,
称为直接引用
一个算法问题:输入10000个整数并求平均值,并且保
留这些原始数据到最后统一输出
用第4章的循环可以求
解决方案:将这10000个整数看作逻辑上前后相邻的并
用1个变量不能达到这一要
解,定义1个变量,在
且可以存储在内存中一片连续的区域,只要知道这些
求,根据前面的知识,似乎
循环体中读入值并求和
应该定义10000个变量,可
数在内存中的起始地址,就能找到对应的空间,进而
访问空间中的内容,这就是间接引用方式,因此:
是这样又无法用循环控制
要有变量可以存放地址--指针;
间接引用方式下,传递
某一个数据地址(一般
要有类型可以定义一个标识符代表一组连续空间的起始地址
是第1个数据的地址)相
--一维数组
2015-6-8 当于传递了全部数据 4
2015-6-8 4
一级指针类型(引言)
一级指针类型(引言)
C语言优越于其他高级语言的一个特性就是:可对硬件编程;
通过第一章机器语言程序设计的学习,在计算机内部访问操作
数首先是读取其在内存中的存储地址值,然后通过该地址值去
访问该地址所在空间中的内容
C语言为了实现对硬件编程,必定要将内存地址抽象为一种类
型,这就是 (一级)指针类型,即指针类型是地址的类型,该
类型的常量和变量值都是内存地址值。地址值是无符号整数,
无论该地址的内存中数据是什么类型,地址值都占4个字节
显然,知道地址值是为了操作这个地址中所存储的内容。通过
地址来访问数据空间的方式称为间接引用
通过该地址去间接引用的数据类型称为地址的基类型
前面学习的通过存储空间的名称引用数据的方式称为直接引用
这两种类型
2015-6-8 5
2015-6-8 5