靳润昭 C 语言教程讲义 2001 年 2 月 17 日
10 指针....................................................................................................................................1
10.1 地址指针的基本概念................................................................................................1
10.2 变量的指针和指向变量的指针变量........................................................................2
10.2.1 定义一个指针变量............................................................................................3
10.2.2 指针变量的引用................................................................................................3
10.2.3 指针变量作为函数参数....................................................................................7
10.2.4 指针变量几个问题的进一步说明..................................................................10
10.3 数组指针和指向数组的指针变量..........................................................................13
10.3.1 指向数组元素的指针......................................................................................13
10.3.2 通过指针引用数组元素..................................................................................14
10.3.3 数组名作函数参数..........................................................................................16
10.3.4 指向多维数组的指针和指针变量..................................................................22
10.4 字符串的指针指向字符串的针指变量..................................................................25
10.4.1 字符串的表示形式..........................................................................................25
10.4.2 使用字符串指针变量与字符数组的区别......................................................28
10.5 函数指针变量..........................................................................................................29
10.6 指针型函数..............................................................................................................30
10.7 指针数组和指向指针的指针..................................................................................31
10.7.1 指针数组的概念..............................................................................................31
10.7.2 指向指针的指针..............................................................................................34
10.7.3 main 函数的参数.............................................................................................36
10.8 有关指针的数据类型和指针运算的小结..............................................................37
10.8.1 有关指针的数据类型的小结..........................................................................37
10.8.2 指针运算的小结..............................................................................................37
10.8.3 void 指针类型 .................................................................................................38
10 指针
指针是C语言中广泛使用的一种数据类型。运用指针编程是C语言最主要的风格之一。
利用指针变量可以表示各种数据结构;能很方便地使用数组和字符串;并能象汇编语言一样
处理内存地址,从而编出精练而高效的程序。指针极大地丰富了C语言的功能。学习指针是
学习C语言中最重要的一环,能否正确理解和使用指针是我们是否掌握C语言的一个标志。
同时,指针也是C语言中最为困难的一部分,在学习中除了要正确理解基本概念,还必须要
多编程,上机调试。只要作到这些,指针也是不难掌握的。
10.1 地址指针的基本概念
在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为一个
内存单元,不同的数据类型所占用的内存单元数不等,如整型量占 2 个单元,字符量占 1 个
单元等,在前面已有详细的介绍。为了正确地访问这些内存单元,必须为每个内存单元编上
号。根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址。