一、什么是指针
指针是存在内存中的一个编号(也就是地址空间的编号),最小的单位是一个字节,存储的方式如果是小端机就是从低地址往高地址存储。
二、指针的大小
地址是由高低电压表示的1、0值代表的,所以在如果在32位的机器下就有32个电信号,一个指针变量的大小就是32个比特位,也就是4字节,在64位下的电脑下,一个指针变量的大小就是64个比特位,也就是8字节。
三、指针的使用
1、指针的使用
格式:变量类型* 指针名 =& 变量名
例子:
int a = 10;
int* pa = &a;
此时的pa就存放着a的地址
2、指针解引用
如果定义出来了一个指针,当需要使用到这个指针变量存放的地址空间时,就可以通过解引用对它进行操作;
解引用用法:* + 指针变量名
int a=10;
int* pa=&a;
//此时a的地址就存在了pa中
//假设需要修改a的值,只需要对pa进行解引用即可
*pa=20;
//这个时候a的值就被修改成了20
3、 指针的类型
(1)指针类型的作用
指针类型决定了,对指针解引用的时候可以访问多少个字节。
指针的类型有:
char* int* double* 等
当对一个指针变量进行运算的时候,指针会根据指针的类型,在内存中进行步长的移动,
例如:一个chan*类型的指针,对它进行++ --运算,那它就会内存中跳跃1个字节
int*类型的指针,会跳过4个字节
double*类型的指针,会跳过8个字节