初步认识指针

今天初步学习了指针,感觉确实有点难。

当我们赋给一个变量一个值时,这个变量就被存储在计算机的内存中,内存可以理想化的划分为若干个空间,每个空间都有其所对应的地址,通过这个地址,我们就可以找到这个内存空间中存储的值。而指针就是用于存放地址的变量,通过指针变量,我们可以得到变量的地址。

include <stdio.h>

int main()
{
  int a = 10;
  int* b = &a;//*为创建指针变量时用,指定b为指针变量。&为取地址操作符,&a表示变量a的地址
  printf("%p\n",&a);//%p为打印地址时用
  return 0;
}

代码运行结果

  这样一串数字就是变量a的地址,这串数字是十六进制。 

  关于内存,我们可以引申一下:

  对于32位电脑来说,内存会划分为一个个的内存空间用于存放数据,而每个内存空间都会有一个编号,类似于宿舍楼,把一栋宿舍楼比作内存,一个个宿舍就是一个个内存空间,而每个宿舍都有一个门牌号如(505),宿舍的门牌号就对应着内存空间的编号

画的有点丑像闹鬼一样,将就看                    

 32位电脑的编号是由32个由1或0组成的二进制数

00000000000000000000000000000000

00000000000000000000000000000001

00000000000000000000000000000002

......

111111111111111111111111111111111111

一串数字为一个编号,一共有2^32个编号,也就是有2^32个内存空间。因为2进制编号太长,所以电脑中用16进制数来表示编号地址。

这样我们就可以了解到,指针变量就是为了存放变量的地址,通过指针变量,我们可以轻易的查找到变量的地址,并通过地址查找到该变量。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值