C语言中指针是不是用汇编的间接寻址实现的?

112

151

更新于 2014-08-05

看到间接寻址,想到指针,它们仅仅是相似,还是说指针就是用汇编的间接寻址实现的?

c

关注收藏2

评论

阅读 5.8k

2 个回答

得票时间

1

滕亦飞

1.3k

更新于 2014-08-06✓ 已被采纳

的确用的是间接寻址。

看以下代码:

#include

int main(){

int num = 5;

int *ptr = #

std::cout << *ptr << std::endl;

return 0;

}

g++编译以后,用IDA打开分析:

注意mov eax, [eax]那一行,这不就是间接寻址嘛?

当然,如果编译器很确定这个地址的内容,就可能做一些优化,直接把值填入你的变量中(比如对地址用常数传播)。这时候就没有间接寻址了。

评论

ANDY_626999

3

发布于 2014-08-05新手上路,请多包涵

应该是间接寻址,编译器在编译时会产生一个符号表,记录了符号名和它的地址。对于指针变量,符号表里记录的是指针的地址,通过该地址取到所指变量的真实地址,最后取到的才是所指变量的值。

评论

https://segmentfault.com/q/1010000000627497#

c语言间接寻址与指针,C语言中指针是不是用汇编的间接寻址实现的?相关推荐

  1. 【指针】C++中指针的使用艺术[转]

    在C++编程中使用指针能有速度快,节约内存等优点,是很多C++程序员的最爱.但指针是一把双刃剑,用好了它,你就会发现指针有多么的方便,反之,你可能就头疼了,往往会出现意想不到的问题. 一.什么是指针: ...

  2. 指针数组和数组指针的本质(四十一)

    一.指针的定义 1. int *p理解 分析: *p: 首先p与*结合,*p为一个指针,在与int结合,指向int类型,整体是指向一个int类型的指针. 2.char *p理解 分析:首先p与*结合, ...

  3. 初学者对C语言中指针的爱恨情仇

    C语言中指针和数组的爱恨情仇 文章目录 C语言中指针和数组的爱恨情仇 一.前言 二.为什么学指针 三.说明 四.跟我一起学 (一)C语言中的*和& 1.C语言中为什么存在&和* 2.& ...

  4. 关于C语言中的数组指针、指针数组以及二级指针

    概念解释 数组指针:首先它是一个指针,它指向一个数组,即指向数组的指针:在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道.数组指针指向的是数组中的一个具体元素,而不是整个数组,所 ...

  5. 理解C语言中指针的声明以及复杂声明的语法

    昨天刚把<C程序设计语言>中"指针与数组"章节读完,终于把心中的疑惑彻底解开了.现在记录下我对指针声明的理解,顺便说下如何在C语言中创建复杂声明以及读懂复杂声明. 本文 ...

  6. c语言中指针中 - 和 。的区别?

    c语言中指针中 -> 和 .的区别? 例子1:比如有如下结构 typedef strut node{ int data;   strut node * next; } ListNode; Lis ...

  7. c语言中指针的类型,学习C语言中的指针类型

    摘要:结合我院学生十年来参加全国计算机等级考试(C语言部分)情况,通过分析成绩分布与题型关系,我们发现指针方面的题型失分率最高.在此基础上结合教学实际,本文提出学习指针知识的方法和顺序过程,并将其应用 ...

  8. 在c语言中下面指针,c语言指针的知识点

    在计算机科学中,指针 ***Pointer***是编程语言中的一个对象,利用地址,它的值直接指向***points to***存在电脑存储器中另一个地方的值.下面是小编为大家整理的C语言的指针知识点总 ...

  9. c语言字符串加减_C语言中指针的介绍

    C语言中指针的介绍 指针是C语言中广泛使用的一种数据类型. 运用指针编程是C语言最主要的风格之一.利用指针变量可以表示各种数据结构:能很方便地使用数组和字符串: 并能象汇编语言一样处理内存地址,从而编 ...

最新文章

  1. 数学 计算机工作,不过有人说先学数学,后学计算机后劲足一点,工作也可以的,这估...
  2. linux六种进程状态,Linux操作系统中进程的七种状态
  3. mysql主从复制原理 简书_mysql主从复制,从原理讲到安装配置,全干货
  4. 一文了解P2P的前世今生
  5. 二分图最大权匹配 KM算法
  6. T-SQL查询进阶--变量
  7. arm 服务器优势,零的突破 戴尔正式宣布基于ARM架构服务器
  8. Linux服务器配置和管理:Shell编程查找关键字个数-查找相邻行数
  9. ipynb--pdf
  10. 怎么用计算机输入开七次方根,计算器开根号怎么按
  11. [转帖]谨防(练拳时)膝关节损伤十一要
  12. kubernetes 入门实践
  13. 求职 | Python、数据分析、Java
  14. 岁末将至,再见 2021
  15. PhpStorm-2017.3
  16. java设计模式之代理模式详解
  17. 5.1 在工作表中查找指定内容的单元格 [原创Excel教程]
  18. 基于 pyspider 的 infoq.com 爬虫
  19. 蒙哥马利(Montgomery)算法简介
  20. 数字音频接口(I2S,PCM/TDM,PDM)

热门文章

  1. Android canvas
  2. kubesphere多节点在线安装
  3. 二---------
  4. 【建议收藏】ChatGPT 联网版抢先体验,学会这 8 大高阶实用技巧,让你秒上手!
  5. BAT机器学习面试1000题系列(第1~305题
  6. 图像生成论文阅读:GLIDE算法笔记
  7. 干货:机器学习模型训练全流程!
  8. 华清远见上海中心22071班--11.19作业
  9. 【报告分享】2021年Q3小红书美妆报告-CC数据(附下载)
  10. ZOJ 1516 Uncle Tom's Inherited Land