自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 C编程的细节(2)

浮点数由指数位不同而划分的几种不同存储和解释方式:规格化的,非规格化的的,特殊值。规格化浮点数的存储与解释。浮点数运算中,大多机器采用的是向偶数摄入法,也称之为向最接近的值舍入。用加法,减法,和乘法的组合来消除很多整数乘以常数的情况,例如y*14,利用等式14=2^3+2^2+2^1,编译器会将乘法重写为(y<<3) + (y<<2) + (y<<1)。或者利用14=2^4-2^1,将等式重写为(y<<4) - (y<<1)。

2016-08-31 21:36:47 413

原创 可变参函数

int add(int x, ...);可变参函数原型,该函数中带有标识符的参数x记录的是参数的个数,后面的数字是需要求和的数。x的作用是为了标志出加数的位置和控制循化的次数。该函数中首先对x操作,对其存储空间进行字符型指针转换找到该参数列表的首地址,然后循环过程第一步是跳4个字节,即跳过x,对下面的四字节进行整型方式读取。然后再让其跳过四个字节,进行下一个整型参数的读取。

2016-08-31 21:29:55 350

原创 动态开辟内存总结

注意事项:1.不要访问已经被free函数释放了的内存(可以在释放内存后,将此指针赋值为NULL)。 2.对NULL指针进行解引用操作,对分配的内存进行操作是越界,释放并非动态开辟的内存,释放一块动态分配的内存的一部分(对返回指针操作时进行了赋值,使其位置偏移),对一块动态内存释放之后被继续使用。 3.free的参数要么是NULL,要么是调用alloc返回的值,向free传递一个NULL参数不起任何作用。 4.当动态开辟的内存使用完毕后,及时释放,使

2016-08-31 21:28:19 1159

原创 函数返回值与栈

函数的局部变量定义在栈中,栈的特点后进先出(LIFO)。局部变量所在的栈的高地址在下,低地址在上。从main开始,申请变量时栈顶指针向上移动,进入局部变量,局部变量的申请同在main函数中一样,一旦子函数执行完毕,则栈顶指针下移到进入局部变量时的位置,子函数所申请的局部变量空间都被回收。所以如果函数需要子函数中的一些值时,可以通过返回该数据来获得(用指针间接访问变量无需返回)。

2016-08-31 21:25:33 8126 1

原创 C语言的浮点型数值

浮点型的存储因指数位的不同,分为规格化的,非规格化的和无穷大,非数四种情况组成。 a.规格化的:exp!=0 && exp !=255,即指数位不全为零,也不全为1时的情况。此时存储的指数位是加上偏移127。其位数二进制表示为0 <= frac < 1,其位数实际为M = frac + 1; b.非规格化的:exp = 0,存储的指数位是E = 1 - 127,其位数位为M = frac,不再包含隐含的开头1。c.无穷大:exp = 255,frac = 0,当sign = 0时是正无穷,当sig

2016-08-30 22:20:20 2536

原创 函数的声明、定义与函数的编译、链接

语言可以分为编译型语言和解释型语言,对于编译型语言,一次编译,源程序不改变则无需再进行编译。解释型语言是在运行时解释一条执行一条,如此反复直至完成。编译型语言编写程序之后需进行几个必不可少的步骤:预处理、编译、链接,三个各有各的作用,有时三个可以放在一起方便编写调试,但有的情况下需要根据其作用发挥其各自的功能。 进行函数声明之后,在程序中使用该函数,若未定义,编译该程序,会发现,程序的

2016-08-30 22:11:50 1415

原创 C编程的细节(1)

变量的生命周期问题。在一个程序中,操作系统为程序存储不同数据而划分出不同的区块,栈,堆,数据段,代码段等。局部变量存储在栈中,依靠栈针的上下移动来控制变量的生存,而这些变量的生存都是由操作系统进行管理的,所以在其变量定义中的类型生命前有一个默认的anto自动管理。栈的大小接近1M。

2016-08-27 21:44:39 513

原创 C代码编译

C语言的翻译分为编译,链接过程,编译过程又分为预处理,解析,汇编。现在的编程软件都提供了很方便的翻译环境,将翻译链接综合在一块,只通过简单的几个按键就能运行程序。将这个翻译过程理解,有助我们更深的了解计算机的运行机制,更好的运用其不同特性完成不同功能。C代码写好后,第一道工序是预处理。预处理是由预处理器解释的,预处理器读入源代码,根据预处理指令对其进行修改,然后将修改过的源代码交给编译器。

2016-08-27 21:29:09 530

原创 学完数字电子电路基础后对计算机的理解

第一章     数制与码制介绍了几种常见的数制,二进制、八进制、十六进制,这些进制中的二进制和十六进制在计算机应用多。ASCII码是一组七位的二进制代码,共128个,代表着数字、大小字母、32个符号和34个控制码,每个控制码都有其特定的含义。ASCII码用于数据的存储,字符编码等。十六进制常见于地址中。​介绍了数制之间的转换,了解分析计算机处理数据的过程。二进制的原码、反码、补码,是数据在

2016-08-27 21:23:36 1171

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除