Miscellaneous

 

把指针当数组元素来用


    unsigned char *data_nit;     
    unsigned int totalLength;
   unsigned char data1,data2;      
……
    data1 = data_nit++;
    data2 = data_nit++;
    totalLength = ( (data1 & 0x0f)<<8 ) | data2;

修正:1.1.2.18

 

 

两态?多态?


函数:get_FMODE


    if (p)
    {
        printf("************* get_FACMODE %s **************/n", p);
        fmode = atoi(p);
        if(fmode != 0 && fmode != 1)
            {
            printf("error@get_FMODE:fmode != 0 && fmode != 1,fmode=%d/n",fmode);
            }
        return fmode;
    }

读者读到这里就会有疑问,如果返回2,3,……调用者该怎么操作才算对呢?
是否处于工厂模式(fmode)是一个YES or NO的问题。即本来是一个两态的问题,但是程序写成了多态的问题

 

 

 

int OR unsigned int

这其实不算一个问题,可能算的上技巧。
比较如下两段代码:

int foo(int arg)
{
if (arg < 0 || arg > 100) return ERROR;
...
}

int foo(unsigned int arg)
{
if (arg > 100) return ERROR;
...
}

这里的思想究其根本是归并,如果我们把一个int类型的数看成unsigned int,那么负数就归并到大数里面去了。
归并的结果就是简化处理的流程。程序简单了,错误自然就会少。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值