指针变量的指针
指针是C语言的特色之一,利用它可以写出高效率的程序。
内存可看成是由许多字节顺序排列而成,每个字节都有唯一的内存地址。
对于每个变量,C系统会根据变量的类型,在内存中分配相应大小的存储单元,用于存放变量的值。
人们把变量所对应的存储单元的首字节的地址称为变量的地址,可用取地址运算符&来获取变量的地址。
由于变量的地址指明了变量的存储位置,所以被说成是“指向”变量,并形象地称为变量的指针。
可以定义变量来存放变量的地址/指针,这种用来存放地址的变量称为指针变量。指针变量可按如下形式定义:基类型 *指针变量名1,…,*指针变量名m;
与其他变量一样,C系统会为指针变量在内存中分配存储单元。
C系统会为所有的指针变量分配同样大小的存储单元。例如,VC为以上4个指针变量都分配4字节的存储单元。
因此,为指针变量分配的存储单元的大小与基类型无关。
p1只能用来保存int型变量(比如i)的地址而不能把float型变量f的地址存放到p1中,否则会导致错误。
可用赋值语句
p1=&i;
把变量i的地址存放到指针变量p1中,这时变量p1的值为变量i的地址。