通过指针访问变量和直接通过变量名访问变量,谁更快?

本文详细解释了在程序设计中变量和指针的区别,重点介绍了指针如何存储变量的地址来提高程序效率,并探讨了指针在复合型参数传递中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

回答一:

对于变量,地址在编译时就可以确定,生成直接寻址指令访问这个变量;

对于指针变量,编译时它的值一般不能确定,需要用额外的存储单元(例如寄存器)保存,生成间接寻址指令访问指针指向的对象。



回答二:

int a=10;

int *p=&a;

首先,a变量存在内存里的一块位置这个位置里包含a变量的名称和数值
假设这个地址的地址号是1001,那么计算机就要先找到a对应的地址号也就是1001然后在从里面取出a的值....
而通过p
p就是存放着1001的地址号
也就是直接就知道a存放的地址号就可以取出a的值



回答三:
指针在符合型参数传递时候具有很大优势,只需传递地址,不需要拷贝整合内存数据,不论是时间还是空间都高效率,包括数组以及结构体在传参的时候会传递head和addr



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值