一.内存和地址
1.内存和地址
内存被划分为一个一个的内存单元,每个单元大小为1字节。
内存单元的编号==地址==指针
2.究竟如何理解编址
v
二.指针变量和地址
1.取地址操作符(&)
1字节一个内存,一个int4个内存。
2.指针变量和解引用符
(1)指针变量
(2)如何拆解指针类型
(3)解引操作符(*)
3.指针变量的大小
三.指针变量类型的意义
1.指针的解引用
结论:
2.加减整数
如图,由于不同类型的指针决定了向前或者向后走一步有多大距离,int四个字节,+1则跳过0、1,抵达1、2之间:char一个字节,+1,则跳过一个字节,即跳过第一个小空格。
3.void*指针
被称为无具体类型的指针(泛型指针)
不能进行+-1操作,不能解引用操作。(因为void*的大小不确定)。
一般void*类型的指针是使用在函数参数的部分,用来接收不同的数据类型的地址。
四.const修饰指针
1.const 修饰指针
(1)
const int a=0;这里a不能被修改了,但a的本质还是变量,const仅仅是在语法上做了限制。
而*pa可以改变a值,另辟其道。
(2)
const修饰指针的时候,const可以放在*左边,也可以放在*右边。
放在*左边,限制*p,放在*右边,限制的是p。