指针作用:(1)程序简洁、紧凑、高效,
(2)有效地表示复杂的数据结构
(3)动态分配内存
(4)得到多于一个函数返回值
(1)地址和变量:在计算机内存中,每一个字节单元,都有一个编号,称为地址。
(2)指针: 内存单元的的地址称为指针
(3)指针变量:专门用来存放地址的变量叫做指针变量
<存储类型> <数据类型> *<指针名>
如: int a, *pa=&a;
(4)指针指向的内存区域中的数据称为指针的目标,如果他指向的区域是一个程序的一个变量的内存空间,则这个变量称为指针的目标变量。简称为指针的目标。
(5)表示方法:a:p 指针变量,他的内容是地址量
b:*p 指针所指的对象,他的内容是数据
c:&p 指针变量所占用的存储区域地址,是个常量
(6)指针对的赋值: 指针的赋值运算通过赋值运算符向指针变量送一个地址值,向指针变量赋值时,送的值必须是地址常量或指针变量,不能是普通的整数(除了赋0除外)
指针赋值运算常见的形式有几下几种形式: 把一个普通变量的地址赋给一个具有相同数据类型的指针
如: double x=15,*px;
px=&x;
把一个已有地址值得指针变量赋给具有相同数据类型的另一个指针变量,如:
float a,*px,*py;
px=&a;
py=px;
把一个数组的地址赋给具有相同数据类型的指针,如:
int [20],*pa;
pa=a;//等价pa=&a[0]