其实指针就是指向某一个变量或区域的方法,你就记住它是用来指东西的就行,要么是地址,要么是属性,具体看程序想要它实现的功能。
1. 指针是什么?
是一个数据类型,用来存储地址
2. 有什么作用?
可以间接访问变量的值
3. 怎么用?
1)如何声明
int* p;
以后碰到*, 就意味着有指针
猜测
2)如何赋值
int a;
int* p = &a;
printf("%p\n",&p);
int* p;
开辟一块空间,用来存储地址,并且明确指出了存储的地址,所保存的数据的类型是int
3)如何间接访问变量的值
* 取内容
& 取地址
取指针指向的地址的内容
int a;
int* p = &a;
*p = 100;
int a = 10;
int* p1 = &a;
int* p2 = p1;
*p1 = *p1 + 1;
*p2 = *p2 + 1;
函数的调用类型
1) 传值调用 -》数值
2) 传址调用 -》地址 数组 字符串 指针
int a = 10;
int* p = &a;
&p;
多级指针
1) 定义
当一个指针,指向另一个指针的时候,就存在多级指针
2)作用
可以间接访问另一个指针
3)怎么用
int a = 10;
int* p1 = &a;
int** p2 = &p1;
int*** p3 = &p2;
int**** p4 = &p3;
****p4 = 1567;
指针之间的减法
1、 指针和指针做减法,实际上失去offSet,只能相减,不能相加
2、 计算两个元素之间相差了多少个元素。
3、一个指针 ,可以通过offset 找到另一个指针
|