1、指针变量的定义:
类型名 *指针变量名;----------------如:int *p1,*p2;
类型是指指针变量所指的地址上存储内容的类型,因存储数据的不同占用存储空间是不同的,“*”前有类型定义符时,“*”含义是定义指针;
2、指针变量的赋值:
一个指针变量可以通过赋值、初始化、分配内存空间来获得一个确定的地址值,从而指定一个具体的对象。
如 int k=1,*q,*p;
q=&k; 指针q指向变量k的地址;
p=q; 指针p指向指针q所指的地址,指针p和q都指向了变量k;
当进行赋值运算时,赋值号两边指针变量的基类型必须相同;
3 、指针变量的间接寻址运算。
从指针变量所指的地址上去内容可用运算符“*”,“*”成为间接寻址运算符,其操作数是一个指针变量。
寻址形式为:*指针;功能是:获取指针所指存储单元的值。
4、数组与指针
一位数组和指针:
int a[10],*p;
p=a+5; *a,a[10]表示数组元素;p、a+5表示指针地址;
二维数组和指针:
类型说明符 (*指针变量名)[下标];
int a[3][4],(*p)[4];
p=a; *(p[i]+j),*(*(p+i)+j)表示数组元素a[i][j],同理,*(p+i)为数组a的第i行首地址,*(p+i)+j表示数组i行j列元素地址。
5、指针数组
指针数组指指针作为数组元素构成的数组。
类型说明符 *数组名[下标]
int *a[4];
它表示一个数组,此数组的元素由指针组成,指针数组具有数组的所有性质,使用指针数组使字符串的处理更为灵活方便。