学点 C 语言(26): 数据类型 - 结构的更多可能
2008-11-28 17:23
417 查看
1. 包含数组的结构:
2. 结构中的结构:
3. 链表(结构中的指针):
#include <stdio.h> 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], r1.x[1], r1.x[2], r1.y); getchar(); return 0; }
2. 结构中的结构:
#include <stdio.h> int main(void) { struct Rec1 { int x,y,z; }; struct Rec2 { int ID; struct Rec1 num; } R; R.ID = 9; R.num.x = 1; R.num.y = 2; R.num.z = 3; printf("%d,%d,%d,%d", R.ID, R.num.x, R.num.y, R.num.z); getchar(); return 0; }
#include <stdio.h> int main(void) { struct Rec { int ID; struct { int x; int y; int z; } num; } R; R.ID = 9; R.num.x = 1; R.num.y = 2; R.num.z = 3; printf("%d,%d,%d,%d", R.ID, R.num.x, R.num.y, R.num.z); getchar(); return 0; }
3. 链表(结构中的指针):
#include <stdio.h> int main(void) { struct Rec { int x; int y; struct Rec *next; /* 结构中的指针, 这是建立链表的基础 */ } *p=NULL, *pFirst=NULL, *pPrec=NULL; /* 建立链表 */ int i; for (i = 0; i < 10; i++) { p = (struct Rec *)malloc(sizeof(struct Rec)); p->x = i; p->y = i*i; p->next = NULL; if (!pFirst) { pFirst = p; pPrec = p; } else { pPrec->next = p; pPrec = p; } } /* 遍历链表 */ p = pFirst; while (p) { printf("%d, %d\n", p->x, p->y); p = p->next; } /* 释放链表 */ p = pFirst; while (p) { pPrec = p; p = p->next; free(pPrec); } getchar(); return 0; }
相关文章推荐
- 语言基础(项目结构、数据类型、变量、常量)
- 2012年1月3日 星期二(oracle读书笔记,PL/SQL语言概述、块结构、数据类型)
- R语言实战笔记--第二章 数据类型及结构
- 语言基础(项目结构,数据类型,引用类型,转义字符,变量常量,基本的类型转换)
- 学点 C 语言(25): 数据类型 - 结构数组与结构指针
- 学点 C 语言(27): 数据类型 - 结构中的 "位字段"
- 学点 C 语言(24): 数据类型 - 结构(struct)
- C语言基础-数据类型提升的层次结构
- PLI 到 COBOL 的转换-数据类型 【不搞Mainframe的可能看不懂,冷门的语言】
- MySQL数据表类型及文件结构
- R语言数据结构1—vector
- 2. R语言中各种数据类型常见运算的函数
- Cg(c for graphic)语言的数据类型
- java中基本数据类型和C语言中基本数据类型转换
- 变量和数据类型-你可能需要加强的基础
- opencv学习笔记[9]:Opencv的基本数据类型和矩阵结构
- Go语言学习笔记之基本数据类型
- C语言基础学习基本数据类型-变量的输出与输入
- C语言控制输出不按数据类型输出的问题
- C/C++语言中的int等基本数据类型所能表示的最大值最小值