- 博客(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
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人