第10章 指针
本章主要 内容 :
1. 指针的基本概念
2. 各种类型的指针 :
数组的指针 、字符 串的指针 、
函数的指针 、指针的指针等
指针的优点 :
(1 )可有效地表示复杂的数据结构 ;
(2 )动态分配 内存 ;
(3 )方便地使用字符 串,数组 ;
(4 )直接处理 内存地址等 。
指针的缺点 :
概念繁杂 ,使用时较灵活 ,不易掌握 。
§10.1 地址和指针的概念
•
在计算机 中,所有的数据都是存放在存储器 中的 。
一般把存储器 中的一个字节称为一个 内存单元 , 不
同的数据类型所 占用的内存单元数不等 ,如整型量
占2个单元 ,字符量 占1个单元等 。为 了正确地访问
这些 内存单元 , 必须为每个 内存单元编上号 。根
据一个 内存单元的编号即可准确地找到该 内存单元 。
内存单元的编号也叫做地址 。既然根据 内存单元的
编号或地址就可以找到所需的内存单元 ,所以通常
也把这个地址称为指针 。
§10.1 地址和指针的概念
一 、关于 内存
内存 中每个字节有一个编号地址
内存 变量与地址
0
… 程序中: short i;
.
.
2000 .
200 1 i float k;
2002
2003
k 变量是一块存储空间
2005 变量的地址就是指针
…
.
.
.
•
内存单元的指针和 内存单元的内容是两个不 同的
概念 。对于一个 内存单元来说 ,单元的地址即为
指针 , 其中存放的数据才是该单元的内容 。在 C
语言中, 允许用一个变量来存放指针 ,这种变量
称为指针变量 。因此 , 一个指针变量的值就是某
个 内存单元的地址或称为某内存单元的指针 。
二 、关于变量的访问
1. 直接访问:根据变量名直接访问