C风格字符串与常规char 数组之间的一个重要区别是:字符串有内置的结束字符。(前面讲过,包含字符,但不以空值字符'\0'结尾的char数组只是数组,而不是字符串)。这意味着不必将字符串长度作为参数传递给函数,而函数可以使用循环依次检查字符串中的每个字符,直到遇到结尾的空值字符为止。 ——摘自《C++ Primer Plus》第五版 P203
总有高手喜欢卖弄:“传递数组一定要把长度信息传递给函数,这是高手与菜鸟的区别。”(字符串也是字符数组。)
呵呵,看来这位撰写畅销全球经典教程的Stephen Prata,在咱们中国21IC论坛“天下第一”高手的眼里,不过是一只菜鸟。咱天下第一老所长是什么鸟?怎么没见所长也写一本名扬天下的经典之作?光知道嘴上吹。
highgear连最基本的概念还没弄懂,“不幸被你说中了: buffer中没有'\0'。”大喜过望了。“冷漠讲错啦...”
没有'\0'是因为你没有用双引号定义字符串!没有空值符号'\0'结尾的字符数组不是字符串! 这种概念连俺菜鸟都懂。
呵呵,书上说的啥?
“这意味着不必将字符串长度作为参数传递给函数,而函数可以使用循环依次检查字符串中的每个字符,直到遇到结尾的空值字符为止。”
咱只看书信书,你算老几?有本事你也写一本,我就信你。
|