1. 包含数组的结构:
#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; }
分类:
学习 C 语言
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
2007-11-28 刷新网页
2007-11-28 把字符串复制到剪贴板
2007-11-28 如果一个对象不存在