设为首页收藏本站

易点通

 找回密码
 立即注册
查看: 1686|回复: 0
打印 上一主题 下一主题

微软C编程精粹-Microsoft 编写优质无错C 程序秘诀

[复制链接]
  • TA的每日心情
    开心
    2014-2-26 20:23
  • 签到天数: 1 天

    [LV.1]初来乍到

    34

    主题

    34

    帖子

    135

    积分

    网站编辑

    Rank: 8Rank: 8

    积分
    135
    跳转到指定楼层
    楼主
    发表于 2014-5-26 20:41:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    命名约定
    本书采用的命名约定和 Microsoft 所使用的“匈牙利式”命名约定差不多。该约定是由
    生于匈牙利布达佩斯的Charles Simonyi 开发的,它通过在数据和函数名中加入额外的信息
    以增进程序员对程序的理解。例如:
    char ch; /* 所有的字符变量均以ch 开始 */
    byte b; /* 所有的字节均冠以b */
    long l; /* 所有的长字均冠以l */
    对于指向某个数据类型的指针,可以先象上面那样建立一个有类型的名字,然后给该名
    字加上前缀字母P:
    char* pch; /* 指向ch 的指针以p 开始 */
    byte* pb; /* 同理 */
    long* pl;
    void* pv; /* 特意显用的空指针 */
    char** ppch; /* 指向字符指针的指针 */
    byte** ppb; /* 指向字节指针的指针 */
    匈牙利式名字通常不那么好念,但在代码中读到它们时,确实可以从中得到许多的信息。
    例如,当你眼看到某个函数里有一个名为pch 的变量时,不用查看声明就立即知道它是一个
    指向字符的指针。
    为了使匈牙利式名字的描述性更强.或者要区分两个变量名,可以在相应类型派生出的
    基本名字之后加上一个以大写字母开头的“标签”。例如,strcpy 函数有两个字符指针参数:
    一个是源指针,另一个是目的指针。使用匈牙利式命名约定,其相应的原型是:
    char* strcpy(char* pchTo, char* pchFrom); /* 原型 */
    在上面的例子中,两个字符指针有一个共同的特点 ── 都指向以0 为结尾的C 的字符
    串。因此在本书中,每当用字符指针指向字符串时,我们就用一个更有意义的名子str 来表
    示。因此,上述strcpy 的原型则为:
    char* strcpy(char* strTo, char* strFrom) /* 原型 */
    本书用到另一个类型是ANSI 标准中的类型size_t。下面给出该类型的一些典型用法:
    size_t sizeNew, sizeOld; /* 原型 */
    void* malloc(size_t size); /* 原型 */
    void* realloc(void* pv, size_t sizeNew); /* 原型 */
    函数和数组的命名遵循同样的约定,名字由相应的返回类型名开始,后跟一个描述的标
    签。例如:
    ch = chLastKeyPressed; /* 由变量得一字符 */
    ch = chInputBuffer[]; /* 由数组得一字符 */
    ch = chReadKeyboard; /* 由函数得一字符 */
    微软C编程精粹-Microsoft 编写优质无错C 程序秘诀.pdf下载链接:http://pan.baidu.com/s/1mg5HsZu


    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|易点通 ( 湘ICP备2021013434号

    论 坛 声 明 本站所有资料均为网友从互联网各大论坛,网盘收集分享给大家共同学习。本站只提供web页面服务,并不提供相关资源存储、也不参与其录制、上传等服务。若本站收录的内容侵犯了贵司版权,请与1131272156@qq.com联系,我们将第一时间删除!谢谢!

    GMT+8, 2024-4-27 02:22 , Processed in 0.486421 second(s), 25 queries .

    Powered by Discuz! X3.1

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表