第1部分 程序设计基础
第5章 指针
指针是变量在内存中的地址,是C语言中一个重要的概念。在C语言中,用指针可以直接访问内存单元中的数据;有时用指针可以编制出更紧凑和更有效的程序代码;指针支持内存的动态分配,指针还能有效地处理诸如链表、树、图等复杂的数据结构。
指针是C语言的一个重要特色,也是学习中的一个难点。学习C语言的人都应该深入学习和掌握指针的概念和应用,可以说不掌握指针就掌握不了C语言的精华。本章将介绍指针的概念、定义和运算,用指针访问变量的方法,用指针访问数组的方法,多级指针的概念,以及用指针进行动态存储分配的方法。
5.1 指针的概念
如果在程序中定义了一个变量,编译时就给这个变量分配内存空间,系统根据变量的类型进行分配。例如,许多微机的C语言系统对整型变量分配连续的两个字节,给字符变量分配一个字节,给实型变量分配四个字节,……内存在每一个字节上都有一个编号,称为“地址”,在地址所标志的单元中存放数据,因此��存单元的地址与内存单元内容这两个概念是不同的。
假定某程序中定义了两个整型变量a,b及一个实型变量C,编译时可能把2000和2001两个字节分配给变量a,2002,2003分配给变量b,2004~2007这4个字节分配给变量C,这样在内存中就不再有a,b,C这些变量名,而是通过它们的地址进行输入或输出。
……