考试网 >> IT认证 >> 等级 >> 二级考试 >> C专家编程读书笔记(上)

C专家编程读书笔记(上)

发布时间:2006-07-25 12:10     点击:
分页:[1] 2  下一页

1、尽量不要在你的代码中使用无符号类型,以免增加不比要的复杂性。尤其是不要仅仅因为无符号书不存在负值(如年龄、国债)而用它来表示数量。尽量使用int那样的有符号类型,这样在涉及升级混合类型的复杂细节时,不必担心边界情况(如-1被翻译为非常大的正数)。只有在使用位段和二进制掩码时,才可以用无符号数,应该在表达式中使用强制类型转换,使操作数均为有符号或者无符号数。

 

2、这也是为什么C++ 语言令人失望的原因:它对C语言中存在的一些最基本的问题没有什么改进,而它对C语言最重要的扩展(类)却是建立在脆弱的C类型模型上。

 

3、看一段代码:

int main(void)

{

    int pa=0;

    char * avarsc[] =

    {

        "color monitor",

        "big disk",

        "Cray"

        "on-line drawing routhines",

        "mouse",

        "keyboard",

        "power cables",

    };

    char ** pp;

    pp = avarsc;

 

    printf("%s\n", avarsc[2]); // output Crayon-line drawing routhines

    printf("%s\n", *(pp++)); // output big disk

    scanf("%d", pa);

    return 1;

}

注意字符串数组的定义,最后那个逗号,还有"Cray"后头没有逗号其实avarsc是个字符指针的指针

曾经写过一个这样错误的代码,要为一个字符串: "" 申请空间,应该是STRLEN("\"\"")却写成了STRLEN(""""),编译没有错误,也就没有注意,在后来走查代码的时候,发现了错误的地方,多亏为它多申请了不少空间,不然这又是个难以察觉的内存错误。
分页:[1] 2  下一页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有