![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
从汇编角度深入理解C语言
_Madrid
华而无实
展开
-
深入C语言—前奏—内存中的数据
1,、广义上的内存2、内存间的对比3、内存中的数据4、数据宽度5、内存中数据的溢出6、内存中的正负数1.1计算机当中,我们的内存是一个比较广义的内容,可以储存数据的都统称为内存。内存又可以分为ROM和RAM,也可以分为CPU的内存和内存条的内存等等。然而在我们编程的时候只需要知道,我们所控制的一个内存或者说我们所使用的一个内存是一个逻辑上同一的内存,比如说内存条里的原创 2017-06-05 20:55:38 · 313 阅读 · 0 评论 -
深入C语言—前奏—控制访问内存的数据宽度
在前面的一篇文章中,我们知道了,我们的内存分为寄存器和内存,寄存器的数据宽度设计时就固定了,所以我们按照它的数据长度对它读写就可以了,但是内存中每个字节的内存空间都有一个编号,我们的数据大于八位就需要不止一块内存了,所以我们对内存读写时,需要制定我们要操作的内存的数据宽度,这在后面的汇编指令中也有体现,就是说我们访问或写一块内存时,必须指定我们操作的数据宽度。接下来我们要讲的就是怎么操作内存的数据原创 2017-06-06 10:20:33 · 604 阅读 · 0 评论 -
对底层寻址的理解
接触编程有很久的时间了,从高中接触JAVA,到大学学习C语言,偶尔偷懒学习一下PYTHON。这几门语言包括了几个类别,面向过程,面相对象,包括诸如PYTHON这样的动态脚本。他们从表面来看语法都不相同,编程的思想也不同,抛开这些表面的东西,我们来谈一谈它们的本质,它们的本质都是相同的,那么现在问题是,它们的本质是什么,我的总结是不光是这三门编程语言,所有的编程语言的本质都是一样的,那就是赋值语句。原创 2017-06-23 15:12:46 · 498 阅读 · 0 评论 -
深入c语言_作用域
我们知道,C语言中变量的作用域有4种,我们不去讨论函数作用域,因为涉及到goto语句。剩下的三种作用域,代码块作用域,文件作用域,原型作用域。代码块作用域:位于一堆花括号之间的所有语句是代码块,在代码块的开始位置声明的标识符的作用域就是代码块作用域。从声明开始,到所处的最小的右大画括号结束。文件作用域:任何在代码块之外声明的标识符的作用域是文件作用域。从声明开始,到文件结尾结束。原创 2017-07-12 23:31:53 · 4363 阅读 · 0 评论 -
深入c语言_链接属性
我认为链接属性是针对具有文件作用域的变量。因为具有代码块作用域和函数原型作用域的变量离开那个地方就不能使用变量名调用了。所以说的都是具有文件作用域的变量即全局变量。 c语言一个工程可以有多个.c和.h文件,那么如果在不同的文件有相同的变量名字,或者函数名字,那么到底是一个实体,还是不同的实体呢。链接属性就是解决这个的。确定了链接属性,就可以当多个文件有相同的标识符时确定是一个实体还是多个原创 2017-07-24 21:16:33 · 351 阅读 · 0 评论 -
深入c语言_存储类型
了解计算机的都知道内存有很多种,比如寄存器,内存,内存中又有很多段,代码段,数据段,堆栈等等与编程相关的,数据段还可以细分,初始化的,未初始化的,只读的等等。所以一个变量,可以在多种地方存储。变量的存储类型就是告诉变量存储在哪些地方的,虽然这么说不太严谨,因为有寄存器类型的导致的,但是可以这么理解。最重要的是根据变量的存储类型可以确定变量的生命周期。这个很好理解,栈的变量和堆的变量以及数据段的变量原创 2017-07-24 21:46:57 · 197 阅读 · 0 评论 -
深入c语言_变量特性的总结
前面我们说了变量的几个特性,作用域,链接属性和存储类型。因为系统缺省,所以这几个特性有紧要的联系。 先来熟悉掌握static关键字,它既可以改变链接熟悉也可以改变存储类型。当static修饰具有文件作用域类型的变量时,它修改的是链接属性。当static修饰的具有代码块作用类型的变量时,它修改的是存储类型。 总的来说哦,作用域就是说在文件中的哪些地方你可以通过变量名访问内原创 2017-07-24 22:08:24 · 896 阅读 · 0 评论