指针相关内容

时间:2021-04-23 15:17:17

1、指针==地址;

2、获取任何变量的地址都是:&变量名;

3、*指针变量名,则间接访问到(跳到、解引用)指针指向的变量;

4、指针类型一样才能赋值;

如:  char a;  int *p=&a;

这就错误了,因为char类型是一个字节,而int是四个字节,这就越界了,所以错误了。

5、指针的大小

(x86)32位平台指针的字节都是4;

(x64)64位平台指针的大小都为8;


int a;  &a->int *p;

double b; &b->double *p;

int *p; &p->.int **p;

int **p=&p;

**p内存P的值,即*pp=p;

6、定义二级指针是时,二级指针变量必须存放的也是指针变量。

如:  int*p;

        int **pp=&p;这里p必须为指针变量,否则编译不通过。

7、解引用(*p)

int a;

int b;

int c;

int d;

int *p1=&a;//a的地址存于p1中

int *p2=&b;//b的地址存于p2中

*p1=100;//a=100

*p1=200;//b=200

p1=&c;

p2=&d;

*p1=300;//c=300

*p2=400;//d=400

指针变量p内存指向变量的地址,*p存指向变量的内容。