繁体   English   中英

char ch 和 char ch = 0 有什么区别?

[英]What is the difference between char ch and char ch = 0?

我正在阅读 Stroustrup 的 PPP 的第 10 章以及他在此处阅读文件时使用的示例:

http://www.c-jump.com/bcc/c155c/c155Stxtbook2nd/Chapter10/chapter_10_11_2_cpp.htm

当他读取温度时,我注意到他使用了char ch1; char ch2;

然而,当他读这个月的时候,我看到他确实char ch = 0;

我想知道,初始化char ch = 0;的目的是什么char ch = 0; 当他在之前的功能中没有这样做时? 它有什么区别吗?

0x00\\0对应的字符一般表示字符串的结束。 这是当您听到诸如“以空字符结尾的字符串”之类的内容时所隐含的字符。

当使用strlen函数扫描字符串时,这会告诉函数它到达了结尾。

话虽如此,看着你的链接,我没有看到在月份检测中将其初始化为 0 而不是在其他函数中的特殊原因。 在每种情况下,看起来ch都提供了来自流的值......当然,初始化变量是一件好事,但我敢说这并不总是必要的。

没理由。 这个片段不是编码风格的好例子。 参数可以有两种方式:一方面,初始化变量是一个很好的做法,即使您打算在之后重新初始化它们,另一方面,为什么要花费(甚至是最低限度的)资源做一些永远不会使用的事情(尽管编译器很可能会检测到并跳过初始化)。

但是在同一个文件中混合这两种方法,除非它完全是为了展示两种可能性的目的,否则只会令人困惑。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM