为什么c中只使用下划线来命名变量?

为什么c中只使用下划线来命名变量?,c,C,为什么没有其他特殊符号?这个问题用高级语言解决了吗?我搜索了这个话题,但没有得到满意的答案。下划线的值是否为specialASCII?希望我能找到一个好答案。谢谢。因为这就是语言的指定方式:请参见K&R附录A第2.2节原始版或第2版第2.3节。除了C规范允许使用外,u不是特殊的 如果你看得更远一点,你会发现大多数其他标点符号都被用作某种类型的操作符,所以你没有太多其他的变量名可供使用 我们中的一些人已经足够大了,还记得在某些编译器上也允许使用$字符的日子 通常C中不允许使用空格 为了在名称中区分

为什么没有其他特殊符号?这个问题用高级语言解决了吗?我搜索了这个话题,但没有得到满意的答案。下划线的值是否为specialASCII?希望我能找到一个好答案。谢谢。

因为这就是语言的指定方式:请参见K&R附录A第2.2节原始版或第2版第2.3节。除了C规范允许使用外,u不是特殊的

如果你看得更远一点,你会发现大多数其他标点符号都被用作某种类型的操作符,所以你没有太多其他的变量名可供使用


我们中的一些人已经足够大了,还记得在某些编译器上也允许使用$字符的日子

通常C中不允许使用空格 为了在名称中区分单词和单词,程序员使用“u”并没有特定的原因,但它比其他特殊符号更易于阅读 试试这个

再见,基兰

阿迪蒂亚基兰


第二个更具可读性

我倾向于使用a-z和a-z,lotI guess uu不是C中的运算符,所以它被允许是变量名的一部分,我头上的其余符号是运算符变量/函数/类命名字符限制确实取决于语言,有时甚至取决于编译器,但我是在这件事上,我只是想大声点。通常,更现代的语言也更灵活。我无法具体回答这个问题,但可能是其他特殊字符已经有了另一种含义,比如C中的*,因此可能会被编译器误解或产生歧义@jgr208>那么,你为什么不呢?我同意你可以不用,但有时它会很有帮助。一个原因是很多特殊符号被用于其他目的,比如操作员。我不明白为什么这是一个问题。考虑使用一个变量的主下划线有可能与内部符号冲突。我想,GCCBut仍然允许美元仍然是不可移植的。variables@abhijeetpise ,'用于字符。例如:char ch='A';想一想,就像…阿比的名字。在这种情况下,'是什么意思?aditya*kiran的意思是将aditya乘以kiran*是C中的一个运算符。定义中也忽略了C中的空白。好的,像'~'@DirkKoopman这样的特殊字符,而且对于''.'是C中的一个运算符,那么可能是其他符号@或者甚至'我猜它没有任何意义..所以它们我认为字符是命名变量的好选择吗