摘要: 所谓的宏就是一种预处理命令,什么是与处理呢?即在编译过程之前先对程序代码做出的必要的转换处理。宏有两个作用: 1.当遇到需要将程序某个特定的数量在程序中出现的所有实例通通加以修改时,程序只需改动一处即可。 2.大多数C语言函数调用时都会带来重大的系统开销,而宏看上去像一个函数却没有函数调用的开销。 阅读全文
posted @ 2016-07-19 18:50 请叫我小小兽 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 在储存信息时,有时并不需要一个字节的空间而是只需要几个二进制位就足够了。因此在C语言中为了节省空间提高效率,因此引出了位域(也叫位段)的概念。 如下代码中: #include<stdio.h> typedef struct Test { char a : 1; char b : 1; char c 阅读全文
posted @ 2016-07-19 07:17 请叫我小小兽 阅读(1718) 评论(0) 推荐(0) 编辑
摘要: 在C语言编程中,有时为了达到减少运行的时间的目的,需要浪费一些空间;而有时为了节省空间,使它的运行时间增长。而字节对齐则是为了访问效率,用空间换取时间。 要掌握字节对齐,首先得明确一下四个概念: 1.基本数据类型的自身对齐值 在32位系统下基本数据类型有其自身的对齐值: char 1个字节 shor 阅读全文
posted @ 2016-07-19 07:14 请叫我小小兽 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 在分辨这些重要的概念时,我们先回顾一下前面所讲的C之三值合一,由于三个值所求出的地址是相同的,所以经常有传言说他们都是首元素的地址。这种说法是不正确的。为什么说它是不正确的呢? 首先定义一个指针,将三个值赋给它 *p=ar; *p=&ar[0]; *p=&ar//出错 程序编译后在表达式*p=&ar 阅读全文
posted @ 2016-07-19 07:13 请叫我小小兽 阅读(301) 评论(0) 推荐(0) 编辑