指针

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’

results matching ""

    No results matching ""