typedef使用大全(结构体)
来源:互联网 发布:红磷分析纯价格淘宝 编辑:程序博客网 时间:2024/05/21 15:51
<span style="font-size:18px;"><strong>转自http://blog.chinaunix.net/uid-20659461-id-1905089.html二.结构体</strong><span style="font-size:18px;">#define S(s) printf("%s\n", #s); s typedef struct _TS1{ int x, y;} TS1, *PTS1, ***PPPTS1; // TS1是结构体的名称,PTS1是结构体指针的名称// 也就是将结构体struct _TS1 命名为TS1,// 将struct _TS1 * 命名为 PTS1// 将struct _TS1 *** 命名为 PPPTS1 typedef struct { // struct后面的结构体说明也可以去掉 int x, y;} TS2, *PTS2; typedef PTS1 *PPTS1; // 定义PPTS1是指向PTS1的指针 typedef struct _TTS1{ typedef struct ITTS1 { int x, y; } iner; iner i; int x, y;} TTS1; //结构体内部的结构体也一样可以定义typedef TTS1::ITTS1 ITS1; void test_struct(){ // 基本结构体重定义的使用 TS1 ts1 = {100, 200}; PTS1 pts1 = &ts1; // 完全等价于TS1* pts1 = &ts1; PPTS1 ppts1 = &pts1; // 完全等价于TS1** ppts1 = &pts1; PPPTS1 pppts1 = &ppts1; // 完全等价于 TS1*** pppts1 = &ppts1; TS2 ts2 = {99, 88}; PTS2 pts2 = &ts2; // 完全等价于 TS2* pts2 = &ts2; TTS1 itts1 = {{110, 220}, 10, 20}; Its1* rits1 = &itts1.i; ITS1* &its1 = rits1; // 等价于 TTS1::ITTS1 *its1 = &(itts1.i); printf("ts1\t = (%d, %d)\n*pts1\t = (%d, %d)\n" "**ppts1\t = (%d, %d)\n***pppts1= (%d, %d)\n\n", ts1.x, ts1.y, pts1->x, pts1->y, (**ppts1).x, (**ppts1).y, (***pppts1).x, (***pppts1).y); printf("ts2\t = (%d, %d)\n*pts2\t = (%d, %d)\n\n", ts2.x, ts2.y, pts2->x, pts2->y); printf("itts1\t = [(%d, %d), %d, %d]\n*its1\t = (%d, %d)\n\n", itts1.i.x, itts1.i.y, itts1.x, itts1.y, its1->x, its1->y); S(pts1->x = 119); S(pts2->y = 911); S(its1->x = 999); printf("ts1\t = (%d, %d)\n*pts1\t = (%d, %d)\n" "**ppts1\t = (%d, %d)\n***pppts1= (%d, %d)\n\n", ts1.x, ts1.y, pts1->x, pts1->y, (**ppts1).x, (**ppts1).y, (***pppts1).x, (***pppts1).y); printf("ts2\t = (%d, %d)\n*pts2\t = (%d, %d)\n\n", ts2.x, ts2.y, pts2->x, pts2->y); printf("itts1\t = [(%d, %d), %d, %d]\n*its1\t = (%d, %d)\n\n", itts1.i.x, itts1.i.y, itts1.x, itts1.y, its1->x, its1->y); S((*ppts1)->y = -9999); printf("ts1\t = (%d, %d)\n**ppts1\t = (%d, %d)\n\n", ts1.x, ts1.y, (*ppts1)->x, (*ppts1)->y); S((**pppts1)->x = -12345); S((***pppts1).y = -67890); printf("ts1\t = (%d, %d)\n*pts1\t = (%d, %d)\n" "**ppts1\t = (%d, %d)\n***pppts1= (%d, %d)\n\n", ts1.x, ts1.y, pts1->x, pts1->y, (**ppts1).x, (**ppts1).y, (***pppts1).x, (***pppts1).y);}</span></span>
0 0
- typedef 使用大全2(结构体)
- typedef 使用大全2(结构体)
- typedef 使用大全2(结构体)
- typedef使用大全(结构体)
- typedef使用大全2(结构体)
- typedef使用大全(数组)
- typedef使用大全1
- typedef使用大全2
- typedef使用大全
- typedef使用大全
- typedef使用大全(转)
- typedef使用大全
- typedef使用大全
- typedef使用大全
- C++ typedef 使用大全
- 使用typedef定义结构体的问题
- typedef在结构体定义中的使用
- typedef使用大全1(数组)
- ubifs design
- day02_ndk常见错误&如何采用log调试代码
- 8章5题,2题
- 游戏开发学习方法概述
- Tomcat启动错误及解决方法总结
- typedef使用大全(结构体)
- 机器学习----Matlab数据可视化总结(plot篇)
- 【java】itoo项目实战之SpringMVC+EasyUI_HelloWorld
- button按钮
- Activity的启动和创建
- css动画效果
- 添加IIS支持某文件类型
- 闭包:学习Javascript闭包(Closure)
- 让VB6.0中文企业版 IDE(集成开发环境)支持鼠标滚轮