1.关于内存:
定义:
内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的。
为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的 大小是一个字节(byte),为了有效的访问到内存的每个单元,就给每个内存单元进行了编号,这些编号被称为内存单元的地址
4G/8G/16G/32G-->内存
Bit--比特位
Byte=8bit
MB 1024
KB 1024
GB 1024
TB 1024
内存会划分为一个个内存单元(1byte),每个内存单元都有一个编号
eg:32位电脑:地址线(1/0)---->32根地址线---->2的32次方个地址序列
注意:创建变量的过程也就是向内存申请字节空间
2.指针:(取出的地址就是其首地址)
Int a = 10;
Int* p = &a;
注:
取地址符&(如果输出的话可以用%p的格式输出)
p就是指针变量,*说明p是指针变量,int说明p指向的对象a是int类型的
*p:解引用操作符,意思就是通过p存放的地址,找到p所指向的对象,*p就是p指向的对象
内存单元
编号-> 地址->地址也被称为指针
存放指针(地址)的变量就是指针变量
3 指针的大小
不管创建的是什么类型的指针,都是用来创建指针变量,一个指针变量的大小取决于一个地址存放的时候需要多大的空间
32位机器上的地址:32bit - 4byte -->指针变量大小是4个字节
64位机器上的地址:64bit - 8byte -->指针变量大小是8个字节
注意:sizeof的返回值一般用%zu或者&zd来打印才不会报错