c
huanjieshuijing
这个作者很懒,什么都没留下…
展开
-
实现C语言高效编程的四大秘技
编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就工作中的一些体会和经验做相关的阐述,不对的地方请各位指教。 第1招:以空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招——以空间换时间。 例如:字符串的赋值。 方法A,通常的办法:#def转载 2008-03-22 21:45:00 · 550 阅读 · 0 评论 -
关于内存对齐的总结1(看过的写的最清楚的)
<br />转自:http://www.cppleyuan.com/viewthread.php?tid=17&highlight=%E5%86%85%E5%AD%98%E5%AF%B9%E9%BD%90一、什么是字节对齐,为什么要对齐?现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对转载 2010-08-17 00:55:00 · 598 阅读 · 0 评论 -
重读 c primer plus
<br />第三章 数据和c<br />1.C将字符常量是为int类型而非char类型。意味着'b'作为数值66存储在一个32位的单元中,而赋值后的<br /><br />grade则把66存储在一个8位单元中。<br /> char grade = 'b';<br /> printf("grade is %c/n",grade);<br /> grade = 'fate';<br /> printf("grade is %c/n",grade);<br />原创 2010-08-18 01:33:00 · 1358 阅读 · 0 评论 -
结构体对齐详解
转自:http://www.cnblogs.com/motadou/archive/2009/01/17/1558438.html结构体数据成员对齐的意义许多实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的起始地址的值是某个数k的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数(alignment modulus)。这种强制的要求一来简化了处理器与内存之间传输系统的设计,二来可以提升读取数据的速度。比如这么一种处理器,它每次读写内存的时候都从某转载 2010-08-13 23:51:00 · 592 阅读 · 0 评论 -
指针和数组
数组初始化1.与普通变量相似,在初始化之前数组元素的数值时不定的。2.当数值数目少于数组元素数目是,多余的数组元素将被初始化为0。3.可以指定初始化项目及两个重要特性。(C99)数组赋值:1.c不支持将数组作为一个整体来赋值。(初始化的时候除外)2.在使用数组大小的地方直接引用符号常量来避免数组越界。数组和指针:1.指针的值是一个地址,在大多数系统内部是由一个无符号整数表示。但是这并不表示可以吧指针看做是整数类型。一些处理整数的方法不能用来处理指针。应该把指针看做是一种新的数原创 2010-08-16 19:33:00 · 894 阅读 · 0 评论 -
sizeof终极无惑
0. 前向声明sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下。但当我总结的时候才发现,这个问题既可以简单,又可以复杂,所以本文有的地方并不适合初学者,甚至都没有必要大作文章。但如果你想“知其然,更知其所以然”的话,那么这篇文章对你或许有所帮助。菜鸟我对C++的掌握尚未深转载 2008-04-15 22:33:00 · 656 阅读 · 0 评论 -
c语言的编程风格
http://ljh88.home.sunbo.net/show_hdr.php?xname=OUPOD11&dname=CPJ2C31&xpos=21c语言的编程风格时间: 2007-08-19 16:02:01 | [ [>>] 第一章:缩进格式 Tab是8个字符转载 2008-04-06 22:28:00 · 471 阅读 · 0 评论 -
俄罗斯方块
/*c语言描述,wintc windows xp sp2下运行成功*/ /************************************* Desc: 俄罗斯方块游戏 * By: hoodlum1980 * Email: jinfd@126.com * Date: 2008.03.12原创 2008-04-06 15:22:00 · 823 阅读 · 0 评论 -
通讯录
/*c语言描述,wintc windows xp sp2下运行成功*/ #includestruct person{ char name[20]; char tel[15]; char addr[50];};char filename[20];FILE *fp;void create();void output();vo原创 2008-04-06 15:20:00 · 539 阅读 · 0 评论 -
贪食蛇程序
/*c语言描述,wintc windows xp sp2下运行成功*/ #define N 200#include #include #include #define LEFT 0X4B00#define RIGHT 0x4d00#define DOWN 0x5000#define UP 0x4800#de原创 2008-04-06 15:19:00 · 897 阅读 · 0 评论 -
迷宫
/*c语言描述,wintc windows xp sp2下运行成功*/#include #include #include #include #include #define N 20/*迷宫的大小,可改变*/int oldmap[N][N];/*递归用的数组,用全局变量节约时间*/int yes=0;/*yes是判断是否找到路的标志,1找到,0没找到原创 2008-04-06 15:25:00 · 680 阅读 · 0 评论 -
malloc calloc realloc,new区别联系以及什么时候用
三个函数的申明分别是: void* realloc(void* ptr, unsigned newsize); void* malloc(unsigned size); void* calloc(size_t numElements, size_t sizeOfElement); 都在stdlib.h函数库内 它们的返回值都是请求系统分配的地址,如果请求失败就返回NULL转载 2008-03-31 21:54:00 · 1003 阅读 · 0 评论 -
-stdcall详解
<br />对_stdcall 的理解<br />在C语言中,假设我们有这样的一个函数:int function(int a,int b)<br />调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传递参数,传递参数的工作必须由函数调用者和函数本身来协调。为此,原创 2010-08-19 09:53:00 · 16833 阅读 · 9 评论