- 博客(9)
- 收藏
- 关注
转载 结构体对齐的问题
C语言结构体对齐也是老生常谈的话题了。基本上是面试题的必考题。内容虽然很基础,但一不小心就会弄错。写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢? 开始学的时候,也被此类问题困扰很久。其实相关的文章很多,感觉说清楚的不多。结构体到底怎样对齐? 有人给对齐原则做过总结,具体在哪里看
2011-11-09 02:12:13 425
转载 函数调用方式的区别[thiscall,__cdecl,__stdcall]
通常在使用VC进行函数定义时会指定该函数调用方式,诸如: int __stdcall max(int a, int b) { return a>b?a:b; } int __cdecl min(int a, int b) { return a } bool __fastcall equal(int a, int b) {
2011-11-09 00:37:08 708
转载 zzz
#include #include typedef struct polynomial { int coef; int exp; struct polynomial *next; }polylist; polylist *creat (int n,int a[][2]) { polylist *h,*p,*q; int i; h=(polylist *)malloc(sizeof(
2011-11-08 19:08:20 92
转载 程序执行的详细过程
uClinux下用户程序的执行 之所以从用户程序谈起,是因为我们平常接触最多的还是应用程序。从应用程序引出到操作系统我觉得比较自然。下面就从一个简单例子介绍一个程序如何在操作系统中运行。 假如有个c程序: int main(int argc, char **argv[]) { printf("hello world!");
2011-11-08 19:04:25 11791
转载 C语言程序的内存布局
C语言程序的内存布局 一:C语言程序的存储区域 C语言编写的程序经过编绎-链接后,将形成一个统一的文件,它由几个部分组成,在程序运行时又会产生几个其他部分,各个部分代表了不同的存储区域: 1.代码段(Code or Text): 代码段由程序中的机器码组成。在C语言中,程序语句进行编译后,形成机器代码。在执行程序的过程中,CPU的程序计数器指向
2011-11-05 21:03:44 764
转载 求一个字节(8bit)有几位为"1"的O(1)解
真是很极端的做法啊 宋宝华 21cnbao@21cn.com 软件报 问题:对于一个字节(8bit)的数据,求其中“1”的个数,要求算法的执行效率尽可能地高。 分析:作为一道著名外企的面试题,看似简单,实则可以看出一个程序员的基本功底的扎实程度。你或许已经 想到很多方法,譬如除、余操作,位操作等,但都不是最快的。本文一步步分析,直到最后给出一个最快的方 法,相信你看到本文最后的那个最
2011-11-05 14:40:50 2713
转载 不用中间变量交换两个double类型
#include double aa=3.1415926; double bb=9643380.2345; void xchgdbl(double *a,double *b) { *(int *)a ^= *(int *)b; *(int *)b ^= *(int *)a; *(int *)a ^= *(int *
2011-11-01 03:40:33 629
转载 用异或来交换两个变量效率分析
用异或来交换变量是错误的 陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 翻转一个字符串,例如把 "12345" 变成 "54321",这是一个最简单的不过的编码任务,即便是 C 语言初学者的也能毫不费力地写出类似如下的代码: // 版本一,用中间变量交换两个数,好代码 void reverse_by_swap(char*
2011-11-01 03:28:29 2940 1
转载 一个复习数据结构比较好的网站
http://student.zjzk.cn/course_ware/data_structure/web/main.htm
2011-11-01 03:07:28 440
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人