标题:变量的命名规则问题
只看楼主
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:0 
以下是引用TonyDeng在2013-8-6 10:43:15的发言:

平时对命名不注意,才会看不懂那段话。上面诸人的理解都是错的。

请赐教,看到他那句话,我还真不知道下划线开头可以被保留关键字...

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-08-06 10:56
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:0 
命名时避免使用国际组织占用的格式
双下划线开头 ISO C++/ANSI C
包含双下划线 ISO C++
单下划线开头 ISO C++/ANSI C
E[0-9,A-Z]开头 ANSI C
is[a-z]开头     ANSI C
to[a-z]开头   ANSI C
LC_开头       ANSI C
SIG[_A-Z]开头  ANSI C
str[a-z]开头    ANSI C
mem[a-z]开头   ANSI C
wcs[a-z]开头   ANSI C
_t结尾     POSIX

涨姿势了...

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-08-06 11:10
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
保留给实现使用,不是保留为关键字。“实现”,是功能的真实解决方案,比如标准函数getchar(),语言标准不过是规定了需要有什么功能、如何表现,但如何实现这个函数、它的内部代码如何写,却是厂商自由的,它只要满足了标准的要求即可,不是所有厂商的内部实现方式都完全一样,有些有副作用,有些没有,这种真正的解决方案,就叫“实现”。针对独特的平台,有独特的实现方式,如Windows下如何与键盘交互,必然跟系统本身的环境有关,微软用_getch()这样的函数,以下划线开头,表明这个函数是微软独特平台使用的,不是标准函数,在TC/BC下那叫getch(),微软VC编译器提示这种函数已被_getch()替代,头中也有宏会替换这个标识符,存在函数和宏两个版本,它建议你用更明确的_getch()版本,将与系统更协调。这个命名规则是编译器(库)商家自己确定的。我们写程序的时候,碰到涉嫌与库函数名称相似的命名,就要注意是否无意中写了与这类函数一样的名字,比如有人可能知道scanf(),但可能不知道这个编译器可能有_scanf(),于是自己写了一个自定义函数_scanf()与scanf()相区别,就会与厂家提供的_scanf()同名。这段话只是提醒你会碰到这种情形,自定义的名称,最好与库函数的名称有显著区别,不要靠下划线之类来区别,那是不可靠的。

有些库函数,可能会调用别的函数,而那些函数又是不对外公开的,他们设定了某些认为普通程序员不会使用的命名法则来写那些函数,外人有时会无意触犯,没碰到重名还好,碰到就麻烦了。当然这并非说完全不能用下划线开头做自定义名称。

[ 本帖最后由 TonyDeng 于 2013-8-6 11:22 编辑 ]

授人以渔,不授人以鱼。
2013-08-06 11:18
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:0 
回复 23楼 TonyDeng
明白了,是我用词不准确.呵呵

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-08-06 11:31
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
得分:0 
嗯,没想到一点看不懂的小地方细细探究起来还真有不少学问

看来以后看书要更加仔细啦

谢谢版主~


学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2013-08-06 12:44
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
你要明白,C除了那数十个保留字和语法之外,本身没有任何函数,包括标准库函数本质上都是语言之外的东西,不要以为除了标准库函数就不能用特定的库,学C语言学到这样就彻底完蛋了。记住:没有任何函数是C语言的!

所谓C的博大精深,是因为它超级简单,什么都没有,所以才深不可测。学C用不了多少时间,要花一辈子学的,是其他知识,C只是用来表达和解决的语言工具,本身没那么多高深含量。

[ 本帖最后由 TonyDeng 于 2013-8-6 12:57 编辑 ]

授人以渔,不授人以鱼。
2013-08-06 12:53
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:0 
以下是引用TonyDeng在2013-8-6 12:53:31的发言:

你要明白,C除了那数十个保留字和语法之外,本身没有任何函数,包括标准库函数本质上都是语言之外的东西,不要以为除了标准库函数就不能用特定的库,学C语言学到这样就彻底完蛋了。记住:没有任何函数是C语言的!

所谓C的博大精深,是因为它超级简单,什么都没有,所以才深不可测。学C用不了多少时间,要花一辈子学的,是其他知识,C只是用来表达和解决的语言工具,本身没那么多高深含量。

C只是用来表达和解决的语言工具

老大说的对
2013-08-06 13:12
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
得分:0 
以下是引用TonyDeng在2013-8-6 12:53:31的发言:

你要明白,C除了那数十个保留字和语法之外,本身没有任何函数,包括标准库函数本质上都是语言之外的东西,不要以为除了标准库函数就不能用特定的库,学C语言学到这样就彻底完蛋了。记住:没有任何函数是C语言的!

所谓C的博大精深,是因为它超级简单,什么都没有,所以才深不可测。学C用不了多少时间,要花一辈子学的,是其他知识,C只是用来表达和解决的语言工具,本身没那么多高深含量。



说的好

孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-08-06 19:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-418649-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.415570 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved