数组检索方法汇总

来源:互联网 发布:美国国民警卫队知乎 编辑:程序博客网 时间:2024/05/21 22:10

一、引言

以下结合汉字库中区位码-Unicode转换函数,进行解说。

1.

DWORD Unicode2GBQuWei(WORD wUnicode){    DWORD dwQuNum;    DWORD dwWeiNum;    DWORD i,dwResult = 0;        for(i = 0; i < MAXUNICODENUM; i++)  //实现查询,最笨最简单的方式    {        if(wUnicode == Unicode[i])        {            dwResult = 0;                        if(GBQuWei[i] != DNULL)            {                dwQuNum = (DWORD)GBQuWei[i];    //以下四句是转化规则                                dwWeiNum = (DWORD)GBQuWei[i];                                dwQuNum = (dwQuNum & 0xff00) >> 8;                                dwWeiNum = dwWeiNum & 0x00ff;                                if(dwQuNum < 0x58)                {                                    dwDispAddQuWeiChinese(dwQuNum,dwWeiNum);                }                else                {                    //点阵字库中没有要显示的汉字                    dwDispAddQuWeiChinese(4, 1);                }            }            else            {                //点阵字库中没有要显示的汉字                dwDispAddQuWeiChinese(4, 2);            }                        return dwResult;        }        else        {            dwResult = 1;        }    }        if(dwResult == 1)    {        dwDispAddQuWeiChinese(4, 3);    }        return dwResult;}
2.

DWORD GBQuWei2Unicode(DWORD dwQuNum, DWORD dwWeiNum){    DWORD i,dwResult = 0;    WORD wQuWeiNum;        wQuWeiNum = (WORD)(dwQuNum << 8) + (WORD)dwWeiNum;           for(i = 0; i < MAXUNICODENUM; i++)    {        if(wQuWeiNum == GBQuWei[i])        {            dwResult = (DWORD)Unicode[i];                        return dwResult;        }        else        {            dwResult = 0;        }    }        return dwResult;}

二、调试

1.Segmentation fault

这个什么原因呢?溢出吗?内存空间不够吗?但为什么运行其它程序就可以呢?

三、MIT实践

1.学习新内容步骤:

1)解决术语问题

2)从应用程序入手。Linus所说,先会用。用了,产生好奇心,再追逐兴趣这条线索学习,有趣味和动力(兴趣最好的老师)。

2.观察,寻找规律,培养耐心

如牛顿观察光。

3.C语法不熟练,C语法问题也是问题,在复杂问题中,为了降低出错概率,降低问题复杂度,熟练C语法编程、常见模式,常见问题,是一个不错的选择。