从数组获取第二个字符串

时间:2018-02-02 14:00:20

标签: c++ c

我使用了char数组:

char *strs[3] = {"foo", "bar", "bletch"};
LCDPutStr(*strs, 17);

输出为foo。如何选择其他项目?例如,来自数组的barbletch

2 个答案:

答案 0 :(得分:1)

strschar *的数组。 C中的数组的起始索引为0,并使用[]编制索引。

因此,如果你想要第二个元素,你可以使用strs[1]

答案 1 :(得分:0)

我会尝试为dummys解释它。

strsstrings的数组。没有&sizeof运算符strs会转换为指向数组第一个元素的指针。第一个元素是一个指向字符串的指针(所有元素都是).Imagine strs成为一个双指针。现在你有一个双指针指向一个字符串的指针。当你取消引用strs时,你得到了字符串的地址。strs+1将指向第二个元素。旁注:我看到很多新的C程序员都在做这个错误strs++。你不能这样做。

现在说*strs会得到第一个字符串的地址。它相当于*(strs+0)strs[0]。有趣的是,*(strs+0)是等价的至*(0+strs)使0[strs]成为可能。

再次取消引用它会为您提供字符串的字母。例如,strs[0][0]将为您提供'f'。它相当于**strs*(*(strs+0)+0)