指针
1 概念
- 每个变量都被存放在从某个内存地址(以字节为单位)开始的若干个字节中。
- “指针”也称为指针变量,大小位4个字节(或8个字节)的变量,其内容代表一个内存地址。
- 通过指针,能够对该指针指向的内存区域进行读写。
- 如果把内存的每个字节想象成宾馆的一个房间,那么内存地址相当于就是房间号,而指针里存放的,就是房间号。
int*p; //p是一个指针,类型是int*
char*pc; //pc是一个指针,变量pc的类型是char*
float*pf; //pf是一个指针,变量pf的类型是float*
2 指向的内容
p的内容为40000(十进制),*p代表地址40000开始处的若干个字节的内容。
int*p=(int*)40000; p指向地址40000=地址p就是地址40000
3 通过指针访问其指向的内存空间
4 指针定义总结
5 指针的用法
让指针指向一个变量,通过指针访问其指向的变量。
char ch1=‘A’;
char*pc=&ch1; //把ch1的地址赋值指针pc(pc的内容就是变量ch1的地址),便可以通过*pc访问地址ch1里面的内容
&:取地址运算符
&x:变量x的地址(即指向x的指针)
对于类型为T的变量x,&x表示变量x的地址(即指向x的指针),&x的类型就是T*。
char ch1='A';
char*pc=&ch1; //pc指向ch1
*pc='B'; //使得ch1=‘B’
char ch2=*pc; //使得ch2=ch1
pc=&ch2; //使得指针pc指向ch2
*pc='D'; //使得ch2=‘D’