C语言指针详解-创新互联

目录

专注于为中小企业提供成都做网站、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业永仁免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

1.内存

a.内存的管理

2.指针变量的大小


1.内存

内存是电脑上的存储器,计算机中的程序运行都是在内存中进行的。

a.内存的管理

内存首先是被划分成一个个的内存单元,每一个内存单元是一个字节的大小,并且每一个内存单元都有对应的编号。但编号又是多少呢?

这就与我们的电脑硬件有关了,假设我们电脑是32位机器,那么在32位机器上就有32根地址线(电线),在运行时会被通电,也就产生了高电频与低电频两种电信号,转换成数字型号就是

0和1两种。又因为是在32根地址线上,那么很容易知道会有2的32次方种情况,那么也就是我们的内存单元的编号了。

那么2的32次大小的编号可以管理多少内存呢?

那就是 (2^32)/1024/1024/1024=4GB的内存空间。

而内存单元的编号就是一个个地址,C语言中地址又被叫做指针。

举个例子:

我们创建了整型变量a,那么就要向内存中申请四个字节的空间,也就是四个内存单元,而我们的每个内存单元都有一个对应的编号(地址),那么哪一个才是我们a的地址呢?

看数据图,这四个内存单元确实都有编号(地址),而0x0043FCB0才是a的地址,那么

得出结论:最小的那个编号就存放着a的地址,但四个内存单元一起储存a(10)的

我们再看看内存中的数据 0x00 00 00 0a,为什么是用十六进制数字呢?

内存中本来放的是二进制的数字,但为了更好的展示出来,是用十六进制的数字展示的。

而地址(指针)又存在哪里呢?

p是用来存地址的也就是存放指针的,我们就叫p为指针变量,类型是 int*

int:说明p指向的a是int类型的。

*:说明p是指针变量是用来存放地址的。

我们也可以通过访问a的地址去找到a呢。

2.指针变量的大小

我们已经知道指针变量是存放指针(地址)的,那指针变量的大小应该是多少呢?

提前声明一下我这是64位机器。

为什么会是8呢?

指针变量是存放地址的,而地址又是我们前面提到的编号。因为我这是64位机器,那么说就是有64根地址线(电线),所以存储这样的地址需要64个bit位的空间,也就是八个字节。

那么32位机器就需要4个字节存储地址,所以说32位机器上指针变量的的大小就是4个字节。

这是初始的解释,接下来如果我还有新的领悟与学习,那么我会再更的噢!

如果觉得写的还行那就三连鼓励一波吧!如果觉得哪里有问题的请留言!

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

名称栏目:C语言指针详解-创新互联
分享地址:https://www.cdcxhl.com/article0/dipoio.html

成都网站建设公司_创新互联,为您提供网站策划网站改版企业网站制作定制开发网站制作全网营销推广

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设