C编程
kingworr
这个作者很懒,什么都没留下…
展开
-
运行时数据结构
1、a.out 是”assembler output(汇编程序输出)”的缩写形式。 它不是汇编程序输出,而是链接器输出。 2、段 目标文件和可执行文件可以有几种不同的格式。在绝大多数SVr4实现中都采用了一种称作ELF(”Extensible Linker Format,可扩展链接器格式”、现在代表”Executable and Linking Format,可执行文翻译 2015-05-29 15:59:42 · 623 阅读 · 0 评论 -
再论数组
1、数组和指针 as format parameters in a function definition (作为函数定义的形式参数) char s[]; and char * s; are equivalent (是一样的) 什么情况下数组和指针通用: (1). 表达式中的数组名被编译器当作一个指向该数组第一个元素的指针。翻译 2015-05-29 16:06:51 · 239 阅读 · 0 评论 -
C语言特性
1、结合性 int a , b = 1, c = 2;a = b = c;所有的赋值符都具有右结合性,就是说表达式中最右边的操作最先执行,然后从右向左依次执行。 2、数组与指针的区别 指针 数组 保存数据的地址 保存数据 间接访问数据,首先取得指针的内容,把它作为地址,然后从这个地址提取数据。 直接访问数据,a[I]只是简单地以a+I为地址取得翻译 2015-05-29 15:48:31 · 263 阅读 · 0 评论 -
关于链接
一、函数库链接1. 动态库文件的扩展名是".so",而静态库文件的扩展名是".a"。2. 例如,你通过-Ithread选项,告诉编译链接到libthread.so。3. 编译器期望在确定的目录找到库。4. 观察头文件,确认所使用的函数库。5. 与提取动态库中的符号相比,静态库中的符号提取的方法限制更严。翻译 2015-05-29 15:56:54 · 262 阅读 · 0 评论 -
对内存的思考
1、Intel 80x86内存模型以及它的工作原理 • 在UNIX中,段表示一个二进制文件相关的内容块。 • 在Intel x86的内存模型中,段表示一种设计的结果。在这种设计中,地址空间并非一个整体,而是分成一些64K大小的区域,称之为段。 作为80x86内存模型的最基本的形式,8086中的段是一块64KB的内存区域,由一个段寄存器所指向。内存地址的形翻译 2015-05-29 16:00:37 · 222 阅读 · 0 评论 -
再论指针
1、多维数组的内存布局 多维数组和引用实际上是以线性形式排列在内存中的。 数组下标的规则告诉我们如何计算左值pea[i][j],首先找到pea[i][j]的位置,然后根据偏移量[j]取得字符。因此,pea[i][j]将被编译器解析为 *(*(pea + i) + j)2、指针数组就是Iliffe向量 可以通过声明一个一维指针数组,其中每个指针指向一个字符串来取翻译 2015-05-29 16:07:22 · 263 阅读 · 0 评论 -
为什么程序员无法分清万圣节和圣诞节
1、根据位模式构筑图形 根据位模式构建图形图标(icon)或者图形(glyph),是一种小型的位模式映射于屏幕产生的图像。一个位代表图像上的一个像素。如果一个位被设置,那么它所代表的像素就是“亮”的。如果一个位被清除,那么它所代表的像素就是“暗”的。所以,一系列的整数值能够用于为图像编码。 类似Iconedit这样的工具就是用于绘图的,他们所输出的是一个包含一系列整型数的ASCI翻译 2015-05-29 16:05:05 · 953 阅读 · 0 评论