内存:
例如:4G,8G,16G,32G
1:内存会划分一个个的内存单元(一个内存单元是一个字节)
2:每个内存单元都有一个编号,有了编号,CPU就可以快速找到一个空间
例如:在32为电脑:
地址线0/1
32根地址
2的32次方个地址序列。==4GB
计算机中的单位:
bit----比特位
byte----字节(1byte=8bit)
KB----(1KB=1024byte)
MB----(1MB=1024KB)
GB----(1GB=1024MB)
TB----(1TB=1024GB)
PB----(1PB=1024TB)
例如:int main(){
int a=10; //向内存申请4个字节,用来存储10(4个字节每一个都有编号)
// &a; //& -取地址操作符,拿到a的地址
printf("%p\n",&a); //打印地址
若是把a存起来:int*p=&a;//p叫做“指针变量”
地址
地址也被称为指针,存放指针(地址)的变量就是“指针变量”。
实际上:内存单元编号==地址==指针
例如:int a=10;
int *p=&a;//把a存起来,* 说明p是指针变量,int说明p指向的对象是int类型,
//(p是用来存放地址(指针)的。
//p的类型是int*
*p=20;//解引用操作符,找到p所指向的对象,*p就是p指向的对象,就是a。
例如:int main()
{
int *p1,p2,p3;
return 0;
}//这个写法只能说明只有p1是int*类型,而p2,p3还是整形。
若是要三个都是则需要写成:*p1,*p2,*p3.