C语言——初识指针(通俗易懂)

本文介绍了内存的基本概念,如将其比喻为房子和房间,探讨了int类型的内存占用和16进制/二进制转换。重点讲解了指针的作用,包括取地址、指针变量的定义和类型转换,以及指针在不同机器架构下的大小差异。
  • 学习指针我们就必须了解一个叫内存的概念,大家可以百度它的定义,通俗的理解就是内存就是一个房子,现在他被分成了好多房间,用来存储内容。
  • 首先我们先写出一个代码

在这个代码中我们可以看到的是int a=10这一行所表达的就是向内存申请了4个字节来存放10;

为什么是4个字节呢?   原因就是int所占的内存大小是4个字节。

  • 最开始我们说到内存被分成了好多个房间,而字节就是那些房间,但一个电脑有这么多字节,我们所存的10放在了哪里呢?所以我们就需要对他们进行编号,计算机为了编号方便所以选择了16进制,但是计算机本身就是个二进制的机器所以就需要对其进行转换(建议大家复习一下进制之间的转换)。
  • 下一步我们可以看一下他的编号

经过调试后(一定要进行调试!!!),然后就打开“调试”有一个选项叫“内存”还有一个叫“监视”,他们俩个都可以打开,然后输入&a就可以得到他的编号了(&这个符号叫做取地址操作符)但在实际取地址上,我们只取了四个字节中的一个。

  • 说完了取地址,我们就要谈一谈怎么取地址,这也就引出了下一个概念叫做指针变量。

  • 我们在原来代码的基础上加上了int* p=&a;  在这指针变量就是p,int*为指针变量的类型,随着指针变量类型的变化int也可以换成char等,但他们都要加上一个*。存放指针(地址)的变量就是指针变量。所以对于指针的通俗理解就出来了,那就是内存单元→地址→地址也被称为指针。有的同学就会问你怎么一眼就能看出他是指针变量而非变量,判断依据就是在*。*后面一个变量,这个*既说明了后面的变量是指针变量。它本身就是解引用操作符,意思就是通过p中存放的地址,找到p所指的对象,*p就是p指向的对象(一上面的代码为例,即为a)
  • 最后再提一点就是指针变量的大小

指针变量的大小取决于一个地址存放的时候需要多大的空间,32位机器上的地址:32bit位—4byte所以指针变量的大小就是4个字节;64位机器上的地址:64bit位—8byte所以指针变量的大小就是8个字节。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值