指针:指针是一个用来指示一个内存地址的计算机语言的变量或中央处理器中的寄存器,简单来说指针 ==‘地址’。
指针中有一个符号:*间接访问符,简称解引用。
作为一个指针与字符变量没有多大差别
1)指针类型:字符变量有类型,指针也有类型
比如:
int *p;//整形指针存放整型值
double *p;//浮点指针存放浮点值
2)指针的值:字符变量有值,指针也有值,不过指针存储变量的地址
例如:
int a=10;//定义一个整形的变量a赋值为10
int *p=&a;//定义一个整形地址(指针)p赋值为a的地址即p=1000(假设a的地址为1000)
3)使用:字符变量直接使用,指针也是直接使用(&为取地址符)
比如:
int a;
a=10;//将10赋给a
int *p;
p=&a;//将a的地址赋给p
4)注意:
(1)这三个是不同的操作,赋值操作与使用操作不用,使用前有“ * ”
int *p;定义一个指针变量P
p=&a;//赋值操作,将a的地址赋给p
*p=20;//使用p,借用p来访问a,使得a=20
(2)只能对变量取地址,&&a是错误的&a是一个常量是一个地址
(3)二级指针
int *p;
int **pp=&p;//定义指针变量**PP指针将*p的地址赋给它将**pp成为二级指针,指向指针的指针
*pp=&a;//赋值操作*pp现在就是一个变量,将a的地址赋给a
**pp=100;//使用*pp,*pp现在直接跳到了a上这个操作是将a=100
(4)指针所占字节:与平台有关,32位4个字节,64位8个字节