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

回答一:

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

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



回答二:

int a=10;

int *p=&a;

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



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



猜你喜欢

转载自blog.csdn.net/xiaodingqq/article/details/80257936