内存地址的概念与理解

内存地址的概念与理解本期介绍🍖主要介绍:内存是如何被使用的,内存地址是如何产生的,该怎么使用内存地址👀。目录🍖内存内存地址内存地址的由来内存地址是如何产生的一个内存单元的大小如何使用内存地址内存🍖内存是电脑上特别重要的存储器,为系统和软件的运行提供足够的内存空间,当然计算机中所有程序的运行也都是在内存中进行的。但值得注意的是,内存只用于暂时性的存放程序和数据,一旦关闭电源或发生断电,其中的程序和数据将会丢失。内存其实是一块很大的空间,这么大的空间我总不可能只是为了存放一个数据吧,那怎么才能.

大家好,欢迎来到IT知识分享网。

在这里插入图片描述

本期介绍🍖

主要介绍:内存是如何被使用的,内存地址是如何产生的,该怎么使用内存地址👀。


目录🍖


内存🍖

内存是电脑上特别重要的存储器,为系统和软件的运行提供足够的内存空间,当然计算机中所有程序的运行也都是在内存中进行的。但值得注意的是,内存只用于暂时性的存放程序和数据,一旦关闭电源或发生断电,其中的程序和数据将会丢失。

内存其实是一块很大的空间,这么大的空间我总不可能只是为了存放一个数据吧,那怎么才能有效的使用好这块空间呢?所以我们把内存划分成一个个小的内存单元,每个内存单元都可以相对独立的存放一些数据。如此一来内存就可以被有效的使用了。


内存地址🍖

内存地址的由来🍖

那如何去使用这些内存单元呢?其实不难,只要给每个内存单元编号,然后通过这些编号来访问它所对应的内存单元就可以了。大家觉得这种方法是不是看着有点像现实生活中,快递员通过你家的地址然后找到你有点相似。所以后来我们就把每个内存单元的编号称为:内存地址

内存地址是如何产生的🍖

我们都知道我们买电脑的时候会有32位和64位之分,而这里的32位和64位其实指的是物理上的32根地址线和64根地址线,既然是电线当然就可以通电,只要通电就会有正电负电之分;而电气领域里会把正电用“1”来表示,负电用“0”来表示,这样一来电信号就可以转化成数字信号。那现在若有一台32位的机器,想象一下通电后32根地址线就会产生32个“0”或“1”组成的序列(也就是32位的二进制序列),而这32位的二进制序列共会产生2^32种不一样的结果。如下图:
在这里插入图片描述
那不妨把这些二进制序列做成每一个内存单元的编号,那是不是就可以产生2^32个内存地址了呀!而内存中要存放一个地址就需要值相应的内存空间来存放,32位的地址需要4个字节,64位的地址需要8个字节。

一个内存单元的大小🍖

我们知道计算机最小的存储容量单位是比特位(bit),接下来是字节(byte)、kb、mb、gb、tb、pb。
在这里插入图片描述
那哪个存储单位适合作为内存单元的大小呢?我们先算一笔账,若内存单元容量为1个字节时整个内存的大小是多少(2^32车乘1个字节 = 4,294,967,296‬个字节 = 4,194,304(kb)= 4,096(mb)‬= 4(gb)),这算出来的内存大小与市面上的内存大小不谋而合呀。所以经过分析1个字节作为内存单元的容量最为合适


如何使用内存地址🍖

在C语言中有一个操作符“&”,可以直接求出内存地址,所以称其为:取地址符号。我们可以通过以下程序来看一看:

#include<stdio.h>
int main()
{ 
   
	int a = 10;
	printf("%p\n", &a);
}

在这里插入图片描述
打印的结果为:00BBf9EC,这就是整形变量a的存放地址,只不过是用十六进制来代替二进制表示地址了。


在这里插入图片描述

这份博客👍如果对你有帮助,给博主一个免费的点赞以示鼓励欢迎各位🔎点赞👍评论收藏⭐️,谢谢!!!
如果有什么疑问或不同的见解,欢迎评论区留言欧👀。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/11168.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信