c语言中的内存和地址

内存:

例如: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;

        }//这个写法只能说明只有p1int*类型,而p2,p3还是整形。

若是要三个都是则需要写成:*p1,*p2,*p3.

             

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值