【初识C语言】地址及内存简介

您所在的位置:网站首页 内存中每个字节都有地址吗 【初识C语言】地址及内存简介

【初识C语言】地址及内存简介

2024-07-06 03:09| 来源: 网络整理| 查看: 265

文章目录 1.内存1.1内存和CPU的关系1.2内存和硬盘的关系 2.地址2.1概念2.2地址编号2.3关于编址2.4使用

1.内存

(1)内存是电脑中一个重要的存储器,计算机中所有的程序都在内存中运行的,内存的性能对计算机的影响非常大。 (2)内存是计算机与CPU进行沟通的桥梁,计算机会把程序由硬盘加载到内存中后再去使用。 (3)为了有效的使用内存,把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。 为了能够有效的访问即快速找到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址

一般运行一个程序主要涉及计算机的三个设备:内存、CPU、硬盘。

1.1内存和CPU的关系

CPU是负责数据的运算和处理,内存是用来交换数据,如果没有内存则CPU就无法接收到数据。

1.2内存和硬盘的关系

在这里插入图片描述 eg:C语言中定义变量,都是在程序运行起来后在内存中开辟空间。

2.地址 2.1概念

(1)为了有效的使用内存,把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。 (2)为了能够有效的访问即快速找到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址

2.2地址编号

在32位平台下,内存单元的地址是由32位的二进制数(即8位十六进制数)依次编号。所以内存单元共有2^32个,而每一个内存单元保存1个字节的内容。(具体见上图)

ps: 计算机访问内存的基本单位是字节。 一般计算机有32位和64位机器。

以32位机器为例,则能安装的最大内存为(2^32)*(1字节)=4GB ps:4GB计算来源: (2^32)*(1字节)=(2*10)*(2*10)*(2*10)*(2*2)*(1字节)=4GB (1) 常见的存储单位:bit(位)、B(字节)、KB(千字节)、MB(兆字节)、GB(千兆字节)。B 是 Byte 的缩写。 换算关系: 1B=8bit 1KB=1024B 1MB=1024KB 1GB=1024MB 2^10=1024 (2) 为了有效的使用内存,把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。 为了能够有效的访问即快速找到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。 32位计算机是指能同时处理32位二进制数,内存单元的地址是由32位的二进制(即8位十六进制)数依次编号,所以内存单元共有2^32个,而每一个内存单元是1个字节。 所以有: (2^32)*(1字节)=(2*10)*(2*10)*(2*10)*(2*2)*(1字节)=1024*1024*1024*4*(1字节)=4GB

2.3关于编址

(1)计算机为什么对每个字节进行编址? 提高查找效率。计算机内存中编址从最低的地址,依次向上进行编址,有了地址就可以对计算机中每个字节进行快速寻址,方便计算机进行快速查找。 (2)所有的编制都是连续编址的。 (3)编址是由硬件电路自动完成的。

2.4使用

(1)C语言中定义变量都是在内存中定义的,定义变量的本质是开辟空间。 (2)每个变量都有地址,取一个变量的地址称作取地址。 (3)指针就是地址。 eg:

char a='A'; int b=10;

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3