您所在位置: 网站首页 / 文档列表 / C/C++资料 / 文档详情
C语言变量的地址.docx 立即下载
2024-05-06
约1.9千字
约4页
0
12KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

C语言变量的地址.docx

C语言变量的地址.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

C语言变量的地址C语言变量的地址C语言在明面上将数的变量分为两类,整型变量以及浮点数,对应着现实世界的整数和小数。下面一起去了解一下C语言变量的地址吧!要研究指针,我们得先来深入理解内存地址这个概念。打个比方:整个内存就相当于一个拥有很多房间的大楼,每个房间都有房间号,比如从101、102、103一直到NNN,我们可以说这些房间号就是房间的地址。相对应的内存中的每个单元也都有自己的编号,比如从0x00、0x01、0x02一直到0xNN,我们同样可以说这些编号就是内存单元的地址。房间里可以住人,对应的内存单元里就可以“住进”变量了:假如一位名字叫A的人住在101房间,我们可以说A的住址就是101,或者101就是A的住址;对应的,假如一个名为x的变量住在编号为0x00的这个内存单元中,那么我们可以说变量x的内存地址就是0x00,或者0x00就是变量x的地址。基本的内存单元是字节,英文单词为Byte,我们所使用的STC89C52单片机共有512字节的RAM,就是我们所谓的内存,但它分为内部256字节和外部256字节,我们仅以内部的256字节为例,很明显其地址的编号从0开始就是0x00~0xFF。我们用C语言定义的各种变量就存在0x00~0xFF的地址范围内,而不同类型的变量会占用不同数量的内存单元,即字节,可以结合前面讲过的C语言变量类型深入理解。假如现在定义了unsignedchara=1;unsignedcharb=2;unsignedintc=3;unsignedlongd=4;这样4个变量,我们把这4个变量分别放到内存中,就会是表12-1中所列的样子,我们先来大概了解一下他们的存储方式。表12-1变量存储方式内存地址存储的数据…………0x07d0x06d0x05d0x04d0x03c0x02c0x01b0x00a变量a、b和c和d之间的变量类型不同,因此在内存中所占的存储单元也不一样,a和b都占一个字节,c占了2个字节,而d占了4个字节。那么,a的地址就是0x00,b的地址就是0x01,c的地址就是0x02,d的地址就是0x04,它们的地址的表达方式可以写成:&a,&b,&c,&d。这样就代表了相应变量的地址,C语言中变量前加一个&表示取这个变量的地址,&在这里就叫做“取址符”。讲到这里,有一点延伸内容,大家可以了解下:比如变量c是unsignedint类型的,占了2个字节,存储在了0x02和0x03这两个内存地址上,那么0x02是它的低字节还是高字节呢?这个问题由所用的C编译器与单片机架构共同决定,单片机类型不同就有可能不同,大家知道这么回事即可。比如:在我们使用的Keil+51单片机的环境下,0x02存的是高字节,0x03存的是低字节。这是编译底层实现上的细节问题,并不影响上层的应用,如下这两种情况在应用上丝毫不受这个细节的影响:强制类型转换——b=(unsignedchar)c,那么b的值一定是c的低字节;取地址——&c,则得到的一定是0x02,这都是C语言本身所决定的规则,不因单片机编译器的不同而有所改变。实际生活中,我们要寻找一个人有两种方式,一种方式是通过它的名字来找人,还有第二种方式就是通过它的住宅地址来找人。我们在派出所的户籍管理系统的.信息输入方框内,输入小明的家庭住址,系统会自动指向小明的相关信息,输入小刚的家庭住址,系统会自动指向小刚的相关信息。这个供我们输入地址的方框,在户籍管理系统叫做“地址输入框”。那么,在C语言中,我们要访问一个变量,同样有两种方式:一种是通过变量名来访问,另一种自然就是通过变量的地址来访问了。在C语言中,地址就等同于指针,变量的地址就是变量的指针。我们要把地址送到上边那个所谓的“地址输入框”内,这个“地址输入框”既可以输入x的指针,又可以输入y的指针,所以相当于一个特殊的变量——保存指针的变量,因此称之为指针变量,简称为指针,而通常我们说的指针就是指指针变量。地址输入框输入谁的地址,指向的就是这个人的信息,而给指针变量输入哪个普通变量的地址,它自然就指向了这个变量的内容,通常的说法就是指针指向了该变量。
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

C语言变量的地址

文档大小:12KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用

手机号注册 用户名注册
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
登录
手机号登录 微信扫码登录
微信扫一扫登录 账号密码登录

首次登录需关注“豆柴文库”公众号

新用户注册
VIP会员(1亿+VIP文档免费下)
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用