C语言中关于如何存取大量对照表数据的问题

本文介绍了一种使用结构体数组存储特定频率数据的方法,并通过编写索引函数实现快速查找对应的数据项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.可先定义所有的数据类型的结构体

struct CENType
{
    int  code;
    char     type[32];
    char	  name[32];
};

然后定义一个结构体类型的数组存储数据

const CENType frequency[]={{101,(""),("GSM-R")},{1,("B1"),("457.500MHz")},
        {2, ("B1"),("457.550MHz")},
        {3, ("B1"),("457.700MHz")},
        {4, ("B1"),("457.825MHz")},
        {5, ("B1"),("457.925MHz")},
        {6,("B1"),("458.000MHz")},
        {7,("B1"),("458.200MHz")},
        {8,("B1"),("458.250MHz")},
        {9,("B2"),("457.500MHz")},
        {10,("B2"),("457.550MHz")},
        {11,("B2"),("457.700MHz")},
        {12,("B2"),("457.825MHz")},
        {13,("B2"),("457.925MHz")},
        {14,("B2"),("458.000MHz")},
        {15,("B2"),("458.200MHz")},
        {16,("B2"),("458.250MHz")},
        {17,("C"),("457.500MHz")},
        {18,("C"),("457.550MHz")},
        {19,("C"),("457.700MHz")},
        {20,("C"),("457.825MHz")},
        {21,("C"),("457.925MHz")},
        {22,("C"),("458.000MHz")},
        {23,("C"),("458.200MHz")},
        {24,("C"),("458.250MHz")},
        {25,("西陇海"),("457.700MHz")},
        {26,("郑商"),("457.700MHz")},
        {27,("C"),("457.500MHz")},
        {28,("C"),("457.700MHz")},
        {29,("C"),("457.825MHz")},
        {30,("C"),("458.000MHz")},
        {31,("太焦线"),("457.825MHz")},
        {32,("B1"),("457.500MHz")},
        {33,("B1"),("457.700MHz")},
        {34,("B1"),("457.825MHz")},
        {35,("B1"),("458.000MHz")},
        {36,("信和"),("457.500MHz")},
        {37,("信和"),("457.700MHz")},
        {38,("信和"),("457.825MHz")},
        {39,("信和"),("458.000MHz")},
        {40,("北同蒲B1"),("457.500MHz")},
        {41,("北同蒲B1"),("457.700MHz")},
        {42,("北同蒲B1"),("457.825MHz")},
        {43,("北同蒲B1"),("457.925MHz")},
        {44,("北同蒲B1"),("458.000MHz")},
        {45,("大秦AC"),("457.500MHz")},
        {46,("大秦AC"),("457.700MHz")},
        {47,("大秦AC"),("457.825MHz")},
        {48,("大秦AC"),("457.925MHz")},
        {49,("大秦AC"),("458.000MHz")},
        {50,("铁科B1"),("457.500MHz")},
        {51,("铁科B1"),("457.550MHz")},
        {52,("铁科B1"),("457.700MHz")},
        {53,("铁科B1"),("457.825MHz")},
        {54,("铁科B1"),("457.925MHz")},
        {55,("铁科B1"),("458.000MHz")},
        {56,("铁科B1"),("458.200MHz")},
        {57,("铁科B1"),("458.250MHz")},
        {58,("沈丹线"),("457.500MHz")},
        {59,("沈丹线"),("457.550MHz")},
        {60,("沈丹线"),("457.700MHz")},
        {61,("沈丹线"),("457.825MHz")},
        {62,("沈丹线"),("457.925MHz")},
        {63,("沈丹线"),("458.000MHz")},
        {64,("沈丹线"),("458.200MHz")},
        {65,("沈丹线"),("458.250MHz")},
        {66,("C制式"),("457.550MHz")},
        {67,("C制式"),("457.925MHz")},
        {68,("C制式"),("458.200MHz")},
        {69,("C制式"),("458.250MHz")},
        {70,("西陇海"),("457.500MHz")},
        {71,("西陇海"),("457.825MHz")},
        {72,("西陇海"),("458.000MHz")},
        {73,("洛月线"),("457.550MHz")},
        {74,("洛月线"),("458.200MHz")},
        {75,("洛月线"),("458.250MHz")},
        {76,("B"),("457.825MHz")},
        {77,("B1"),("457.700MHz")},
        {78,("C加强"),("457.825MHz")},
        {79,("B1"),("457.700MHz")},
        {80,("B1"),("457.500MHz")},
        {81,("B1"),("457.700MHz")},
        {82,("朔黄"),("458.000MHz")},
    };
然后写一个索引函数,就可以利用其中一个元素寻找其对应的元素
for(i=0;i<83;i++)
    {
        if(frequency[i].code==codefun)
        {
            j=i;
            str=frequency[j].type;
            atr=frequency[j].name;
        }
    }
给出序号,寻找对应的后边的对应内容。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值