问题几乎可以自我解释,但我会添加一个例子来澄清它。
例如,我们有这个功能:
while ((sc = in1.readLine()) != null && !sc.isEmpty())
此函数会将char a返回给abc,但函数是否可以返回整个字符串,而不使用指针,文件I / O等等?
答案 0 :(得分:1)
C字符串是char
的数组,以值char
的{{1}}结尾。 C函数本身不能返回数组,包括字符串,实际上也不能将数组作为参数传递。传递和/或返回指针是传递和/或返回数组的替代方法。在很大程度上,你甚至不需要做任何特殊的事情来传递或返回指针代替数组。
因为准确地谈论这些事情有点麻烦,所以指针/数组的区别经常被排除在讨论甚至文档之外。一个人经常将0
称为一个字符串,实际上该字符串是指向其第一个元素的数组。然而,这确实存在混淆的可能性,正如问题和相关评论中所表明的那样。