摘要:一、位域 有些信息在存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区...
阅读全文
摘要:转自:http://www.cnblogs.com/dolphin0520/archive/2011/09/17/2179466.html在用sizeof运算符求算某结构体所占空间时,并不是简单地将结构体中所有元素各自占的空间相加,这里涉及到内存字节对齐的问题。从理论上讲,对于任何变量的访问都可以从任何地址开始访问,但是事实上不是如此,实际上访问特定类型的变量只能在特定的地址访问,这就需要各个变量在空间上按一定的规则排列,而不是简单地顺序排列,这就是内存对齐。 内存对齐的原因: 1)某些平台只能在特定的地址处访问特定类型的数据; 2)提高存取数据的速度。比如有的平台每次都是从偶地址处读取数据,
阅读全文
摘要:From:http://en.cppreference.com/w/cpp/language/operator_precedencePrecedenceOperatorDescriptionAssociativity1::Scope resolutionLeft-to-right2++--Suffix/postfix increment and decrement()Function call[]Array subscripting.Element selection by reference->Element selection through pointer3++--Prefix i
阅读全文
摘要:const关键字常和指针一起使用.1,const给读代码的人传达非常有用的信息。比如一个函数的参数是const char *,你在调用这个函数时就可以放心地传给它char *或const char *指针,而不必担心指针所指的内存单元被改写。2,尽可能多地使用const限定符,把不该变的都声明成只读,这样可以依靠编译器检查程序中的Bug,防止意外改写数据。3,const对编译器优化是一个有用的提示,编译器也许会把const变量优化成常量。环境:Linux 2.6.32-279.el6.i686GCC版本: gcc 4.4.6 20120305 (Red Hat 4.4.6-4)case 1:1
阅读全文
摘要:1 int main(int argc, char * argv[])argc: argument countargv:argument vector其中,char * argv[] 指针数组char * argv[] | char ** argv | char argv[][] 三种写法都可以.环...
阅读全文