一、指针的定义
(1)内存区的每一个字节有一个编号,这就是“地址”,它相当于房间号。由于通过地址能找到所需的变量单元,我们可以说,地址指向该变量单元。所以指针就是地址.
二、定义指针变量
1.定义指针变量:
类型 * 变量名;
如:int *p1, *p2;
指针变量(1)在32位平台(X86)为4个字节
(2)在64位平台(X64)为8个字节
2.&取地址符的应用
(1) & 取地址运算符。
&a是变量a的地址
(2) * 指针运算符(“间接访问”运算符)
如果: p指向变量a,则*p就代表a。
int a=10;
int *p=&a;
k=*p; (把a的值赋给k)
*p=1; (把1赋给a)
三、一级指针,二级指针的应用
int a = 10;
int b = 20;
int *p; //定义整型指针(地址)变量
p = &a; //”&”取地址符,&a取a的地址
int *p1 = &a; //等同p
*p = 100; //*p:对p解引用,即为a=100;
p = &b; //p赋值为b的地址
*p = 200; //b = 200;
int **pp = &p; //二级指针变量pp赋值为p的地址
*pp = &a; //p = &a;
**pp = 1000; //a = 1000;
*pp = &b; **pp = 2000;//b = 2000;