摘要: 在结构中, 每个字段的数据类型是唯一的; 使用联合可以在一个字段中储存不同的数据类型. 不同的数据类型共享一块内存. 当然其内存大小应依着大的来. 联合中的数据, 非此即彼, 只有一个有效; 应该有说明在某个数据中此时有用的是什么类型. 除了共享内存以外, 联合与结构一样. 1. union 的大小是其中最大数据成员的大小: #include int main(void) { ... 阅读全文
posted @ 2008-11-28 22:17 万一 阅读(2200) 评论(0) 推荐(0) 编辑
摘要: 所有基础的数据类型, 最大的也不过 10 个字节; 我们可以自定义的数据类型 -- "结构", 通过把若干类型组合在一起, 让一种类型可以大很多. 我们知道, 一个字节有八个 Bit 组成; 能否把一种类型缩小、缩小到 Bit 级? 结构中的 "位字段" 是以 Bit 为单位的, 这已经是计算机的最小单位, 大小是 char 类型的 1/8. 下面的例子中定义的位字段, 分别有 1-4 B... 阅读全文
posted @ 2008-11-28 21:40 万一 阅读(2555) 评论(3) 推荐(0) 编辑
摘要: 1. 包含数组的结构: #include int main(void) { struct Rec { int x[3]; int y; } r1; r1.x[0] = 11; r1.x[1] = 22; r1.x[2] = 33; r1.y = 99; printf("%d,%d,%d,%d", r1.x[0], r... 阅读全文
posted @ 2008-11-28 17:23 万一 阅读(1359) 评论(0) 推荐(0) 编辑
摘要: 1. 结构数组: #include int main(void) { struct Rec {int x,y;}; struct Rec rs[10]; size_t i; for (i = 0; i #include int main(void) { struct Rec { char name[12]; ... 阅读全文
posted @ 2008-11-28 14:35 万一 阅读(1992) 评论(0) 推荐(0) 编辑
摘要: 1. 结构就是多个变量的集合: #include int main(void) { struct Rec { int x; int y; }; struct Rec r1; r1.x = 111; r1.y = 222; printf("%d, %d", r1.x, r1.y); getc... 阅读全文
posted @ 2008-11-28 13:45 万一 阅读(2522) 评论(2) 推荐(0) 编辑
摘要: C 语言的内存分配很简单: malloc、calloc、realloc、free malloc(字节数); 返回内存段的首地址, void 的. calloc(个数, 类型大小); 和 malloc 的区别就是它会初始化内存为空. realloc(原指针, 字节数); 重新分配由 malloc、calloc 分配的内存; 这里有太多注意事项: 1、如果缩小了, 会截掉一块, 会保留前面的内... 阅读全文
posted @ 2008-11-28 11:09 万一 阅读(1903) 评论(0) 推荐(0) 编辑
摘要: 1. 关于数组的首地址: #include int main(void) { char cs[2][3] = { {'A','B','C'}, {'D','E','F'} }; char *p1,*p2,*p3,*p4; p1 = p2 =... 阅读全文
posted @ 2008-11-28 07:52 万一 阅读(1784) 评论(0) 推荐(0) 编辑