指针
1.内存
内存会划分为一个个内存单元(一个内存单元的大小为:1byte),每个内存单元都有一个编号(内存单元的编号-->地址-->地址也就是指针)
2.指针
指针理解的2个要点:
1.指针式内存中一个最小单元的编号,也就是地址。
2.平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量
3.指针变量
我们可以通过&(取地址操作符)取出变量的内存其实地址,把地址可以存放到一个变量中,这个
变量就是指针变量。
指针变量,用来存放地址的变量。(存放在指针中的值都被当成地址处理)。
代码 |
int main() { int a = 10;//向内存申请4个字节,存储10 //&a; //取地址操作符 printf("%p\n", &a); int* p = &a; //p就是指针变量,int 说明p指向的对象是int类型,*说明p是指针类型
* p = 20;//解引用操作符。意思就是通过p中存放的地址,找到p所指向的对象,*p就是p指向的对象,即*p-->a printf("%d\n", a); return 0; } |
4.指针变量类型大小
不管是什么类型的指针,都是在创建指针变量
指针变量是用来存放地址的
指针变量的大小取决于一个地址存放的时候需要多大空间
32位机器上的地址:32bit位-4byte,所以指针变量的大小是4个字节
64位机器上的地址:64bit位-8byte,所以指针变量的大小是8个字节