3 开发语言
文章平均质量分 70
jiyucn
这个作者很懒,什么都没留下…
展开
-
C专家编程读书笔记(1)
C专家编程读书笔记(1) 2005.12.19 1、尽量不要在你的代码中使用无符号类型,以免增加不比要的复杂性。尤其是不要仅仅因为无符号书不存在负值(如年龄、国债)而用它来表示数量。尽量使用int那样的有符号类型,这样在涉及升级混合类型的复杂细节时,不必担心边界情况(如-1被翻译为非常大的正数)。只有在使用位段和二进制掩码时,才可以用无符号数,应该在表达式中使用强制类型转换,使操作数均为有符原创 2006-01-10 14:30:00 · 1979 阅读 · 2 评论 -
C/C+语言struct深层探索
C/C+语言struct深层探索作者:宋宝华 出处:PConline1. struct的巨大作用 面对一个人的大型C/C++程序时,只看其对struct的使用情况我们就可以对其编写者的编程经验进行评估。因为一个大型的C/C++程序,势必要涉及一些(甚至大量)进行数据组合的结构体,这些结构体可以将原本意义属于一个整体的数据组合在一起。从某种程度上来说,会不会用struct,怎样转载 2006-07-02 16:41:00 · 1655 阅读 · 0 评论 -
C语言中的关于“位域”的说明(转载,有修改)
关键词: 位域有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个原创 2006-07-01 18:28:00 · 6854 阅读 · 5 评论 -
sizeof 的相关问题
关键词: sizeof 1、什么是sizeof 首先看一下sizeof在msdn上的定义: The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (incl转载 2006-07-01 18:24:00 · 2017 阅读 · 2 评论 -
C++中的运算符优先级 - C++ Operator Precedence
关键字: C, C++, 运算符优先级, Operator Precedence Precedence Operator Descrip原创 2006-06-30 17:52:00 · 8964 阅读 · 0 评论 -
关于ASSERT(断言)使用的规则--摘自《高质量C/C++编程指南》
摘自《高质量C/C++编程指南》Page 41-42...程序一般分为Debug 版本和Release 版本,Debug 版本用于内部调试,Release 版本发行给用户使用。断言assert 是仅在Debug 版本起作用的宏,它用于检查“不应该”发生的情况。示例6-5 是一个内存复制函数。在运行过程中,如果assert 的参数为假,那么程序就会中止(一般地还会出现提示对话,说明在什么地方引发转载 2006-06-22 14:53:00 · 16411 阅读 · 2 评论 -
看看memcpy和memmove的区别
找到了一些源码,从中可以学到不少东西。void * __cdecl memcpy ( void * dst, const void * src, size_t count ){ void * ret = dst; /* * copy from lower addresses to highe原创 2006-06-07 17:16:00 · 2007 阅读 · 3 评论 -
嵌入式程序员应知道的基本问题-C语言(zz)
来源:21ICbbs 作者:lhfC语言测试:想成为嵌入式程序员应知道的0x10个基本问题C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为带面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对转载 2006-05-13 12:35:00 · 1028 阅读 · 1 评论 -
让Editplus支持汇编语言语法高亮显示
-- 2006.5.6 By A.TNG最近在看汇编,发现好多知识都还给老师了,得恶补回来。写了几行代码,发现SourceInsight感觉好不爽,还是用回最喜欢的Editplus。不过突然发现ep不支持汇编语言的语法高亮显示,很是郁闷,心想,如此强大的ep怎能如此弱,找了找ep的各个设置,发现在:工具-〉参数设置-〉文件-〉设置和语法 中有个可以设置语法高亮显示的选项,里头已经有了:cpp原创 2006-05-06 18:11:00 · 3537 阅读 · 2 评论 -
关于静态变量与局部变量
我们如果正常定一个函数void fun(void){ int tmp; // same operation // ...} 如果我们调用fun函数,那么程序会在动态数据区的栈里头为局部变量申请空间,然后执行相关的代码,进行操作。当fun函数执行完毕,tmp变量就会出栈,不复存在。但是如果我们进行如下的操作: int* global_tmp = NULL;void fun() { int tmp;原创 2006-01-10 14:35:00 · 846 阅读 · 0 评论 -
#pragma 预处理指令详解
, 看《COM技术内幕》,看到一个关于提到objbase.h的文件,于是上里头找找看,有没有些有价值的东西,可是一看发现,写了几个月的c了,还有关键字不认识的,它就是#pragma,上网找了篇资料,贴出来,以后查也方便。 在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出原创 2006-01-10 14:40:00 · 791 阅读 · 0 评论 -
C专家编程读书笔记(2)
C专家编程读书笔记(2)2005.12.19 1、早用lint,勤用lint,不要等到最后才用lint。lint是软件的道德标准 2、关于typedef。先看一个声明:void (*signal(int sig, void (*func)(int))) (int);对于它,可以简化为:typedef void (*ptr_to_func) (int)ptr_to_func signal(int,原创 2006-01-10 14:31:00 · 958 阅读 · 0 评论 -
关于内存对齐
关于内存对齐原作者姓名 Fang正文什么是内存对齐 考虑下面的结构: struct foo { char c1; short s; char c2; int i; }; 假设这个结构的成员在内存中是紧凑排列的,假设c1的地址是0,那么转载 2006-07-02 16:44:00 · 90 阅读 · 0 评论