1.指针变量
大多数现代计算机将内存分割为字节,每个字节可以存储8位的信息。每个字节都有唯一的地址,用来和内存中的其他字节相区别。如果内存中有n个字节,那么可以把地址看作0~n-1的数。
可执行程序由代码(原始 C 程序中与语句对应的机器指令)和数据(原始程序中的变量)两部分构成。程序中的每个变量占有一个或多个字节内存,把第一个字节的地址称为变量的地址。
虽然用数表示地址,但是地址的取值范围可能不同于整数的范围,所以一定不能用普通整型变量存储地址。可以用特殊的指针变量存储地址。在用指针变量p存储变量i的地址时,说p指向i。
指针变量的声明
int *p;
指针变量的声明是必须在指针变量名字前放置星号,上述声明说明p是指向int类型对象的指针变量。
指针变量可以和其他变量一起出现在声明中:
int i,j,a[10],b[20],*p,*q;
C语言要求每个指针变量只能指向一种特定类型(引用类型)的对象:
int *p;
double *q;
引用类型是什么类型没有限制,指针变量甚至可以指向另一个指针,即指向指针的指针。
2.取地址运算符和间接寻址运算符
为了找到变量的地址,可以使用&(取地址)运