随笔 - 2146  文章 - 19 评论 - 11846 阅读 - 1267万


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;
}


posted on   万一  阅读(1361)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· 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 如果一个对象不存在


点击右上角即可分享
微信分享提示