自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 嵌套的结构体,枚举,及其他

这里说的嵌套,其实是在结构体里定义结构体及枚举。需要重新考虑一下标识符的作用域,特别是块作用域。struct s0{ // @ int a;}; // @int main(int argc, char *argv){}两个@之间并不是一个块作用域。所以,struct s0

2013-02-23 10:49:02 2837

原创 c语言标识符的名字空间和作用域

c语言的标识符有4种名字空间:1. 标号名(label)。2. 结构,联合和枚举的标记(tag)。3. 结构和联合的成员。4. 其他所有的标识符(普通标识符)。有4种作用域:1. 文件作用域。2. 块作用域。3. 函数作用域。4. 函数原型作用域。有一个通用的规则,在同一作用域同一名字空间中,标识符不同名即可。说明如下:1. 标号名只限定在函数作用域

2013-01-30 21:34:28 1717

原创 双向链表

双向链表定义如下:typedef struct list{ struct list *fwd; struct list *bwd; int data;} list;根节点root不带数据,root->fwd指向首节点,root->bwd指向尾节点,链表为空时,两者均为NULL。普通节点中,fwd指向正向的后一个,bwd指向反向的前一个。首节点的bwd为NULL,尾节点的f

2013-01-27 10:58:22 493

原创 单链表

单链表定义如下:typedef struct list{ struct list *fwd; int data;} list;根节点root不带数据,root->fwd指向首节点,为NULL表示链表为空。尾节点的fwd为NULL。下面的例子中,数据不重复,升序排列。插入:int insert_list(list *root, int data){ list *pCu

2013-01-27 09:38:20 286

原创 数组和指针

int a[2][3][4];1. a为指向数组首元素的指针。2. &a为指向数组的指针。3. sizeof作用于a时,取数组的大小,而不是指针的大小。 表达式           与a的距离(以int个数为单位)a + 1              12                 (可以把a看成一维数组,其元素类型为数组[3][4])&a + 1

2013-01-17 19:38:18 355

原创 字体和路径

想做一个透明时钟,初步想法是这样的:    1.获取dc,并把背景设成透明。    2.启动路径(BeginPath),用TextOut输出时间。    3.结束路径(EndPath),从路径获取区域(PathToRegion),并把该区域设为窗口的显示区域(SetWindowRgn)。    按照这个步骤做一遍,没有效果,从路径获取区域时失败。参考了网上的资料,为dc选择一个字体

2012-05-30 12:48:17 1385

原创 插入排序

void InsertSort(int *vec, int N){ int i, j, tmp; // 首个元素已经有序,从第二个开始,把后续的元素插入之前的有序子序列。 // 而且可以排除只有0,1个元素的情况。 for (i = 1; i < N; i++) if (vec[i] < vec[i - 1]) { tmp

2012-05-26 09:05:36 402

原创 折半查找的一些注意事项

int search0(int *vec, int N, int key){ int lo = 0, hi = N - 1, mid; while (lo <= hi) { // 注意点1 mid = lo + (hi - lo) / 2;// 注意点2 if (key == vec[mid]) return mid; else if (key < vec[mid])

2012-05-19 15:53:45 1252

原创 一号试验田——C语言中对象标识符的链接性

本文主要是对C语言里对象标识符的链接性进行总结。考虑下面的语句: int a; /* 0. 简单临时定义 */ static int a; /* 1. 内部链接临时定义 */ extern int a; /* 2. 纯粹声明 */ int a = 1

2011-12-18 22:25:38 1453

原创 UNICODE字符串和ANSI字符的转换

windows把字符串分成两类,UNICODE字符串和基于code page的ANSI字符串。UNICDOE字符串使用UTF-16LE编码方式(占2字节,其值与UNICODE编码真值一致,暂不考虑位于BMP之外的情况)。ANSI字符串使用多字节编码方式,以简体中文GBK为例(code page 936),ASCII码使用1字节,中文使用2字节,使用leadbyte来区分两者。    在C/C+

2011-11-13 23:03:48 2843

原创 折半查找的一些应用

折半查找

2011-05-07 22:52:00 841 1

转载 谈谈vc如何写dll(封装性,隐藏头文件,私有成员)(转)

封装,多态

2011-05-07 16:17:00 2733 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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