指针的定义与使用
指针和引用是C++中两个重要的复合数据类型,使用范围十分广泛,若使用得当,它们就是程序员手中的神兵利器,但如果程序员对其理解肤浅,胡乱应用,只会让事情一团糟。
内存是按字节排列的存储空间,每个字节有一个编号,称为“地址”,程序中用到的数据和声明的变量就存放在这一个个的字节中,不同类型的数据和变量占用的字节数不同,如short型变量占用2个内存字节,习惯上将某个变量占用的几个字节称为内存单元,内存单元占用的字节数随其存储变量的不同而不同。
通过变量名可以访问该变量对应的内存单元,实际上,我们还可以直接通过地址来访问某个内存单元。
在程序中,我们可以直接通过名字访问某个变量,但这实际上是借助了编译器的帮助,编译器维护了一个变量名和地址的映射表,同时,如果知道了某个变量内存单元的地址,我们就可以直接对这块内存进行访问,为了存储地址信息,C++提供了指针这个符合数据类型。
【声明一个指针变量】
指针是一种数据类型,基于该类型声明的变量称为指针变量,该变量存放的是内存中的某个地址,和普通的变量一样,在使用指针变量之前应先对指针变量进行声明:
类型*指针变量名;//如int*pNum;
“*”表示语句声明的是一个指针变量,类型指定了指针所指的内存单元的数据类型。
可以将int*理解成一种符合类型,是指向int型数据的指针。
应当注意,下面的语句:
int* pNum1,pNum2;