第12章 C语言难点——指针初探
指针是C语言的一个重要特色,是C语言的精华所在。正是丰富的指针运算功能才使得C语言是目前最常用、最流行的面向过程的结构化程序设计语言。正确而灵活地运用指针,能有效地表示复杂的数据结构、方便地使用数组和字符串;可以在函数间进行数据传递;可以直接处理内存地址、动态分配内存等。熟练、灵活地使用指针,可以使程序简洁、紧凑、高效。本章要介绍内存的使用以及C语言的难点所在——指针。
本章包含的知识点:
·内存和地址
·指针的声明和定义
·如何使用指针
·指针的运算
·动态内存分配
12.1 计算机中的内存
熟悉计算机的读者知道,内存是平时接触较多的一个概念。从硬件形态上说,内存就是一个物理设备;从功能上讲,内存是一个数据仓库,程序在执行前都要被装载到内存中,才能被中央处理器执行。
以Windows系统为例,执行安装在硬盘上的某个程序,实际上是将该程序的指令和数据读入内存,供中央处理器执行的过程。
内存是由按顺序编号的一系列存储单元组成的,在内存中,每个存储单元都有唯一的地址,通过地址可以方便地在内存单元中存取信息。内存中的数据要靠电源来维持,当计算机关机或意外断电时,其中的所有数据就永久地消失了。
12.1.1 内存地址
可以将内存看成一个个连续的小格子的集合