自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除