C / C ++:从指针字符单维数组中访问单个字符

时间:2014-03-18 16:14:23

标签: c++ c

从初始化的指针到这样的字符数组:

char *someChar[]={"Some","Text","Here"};

我怎么能调用例如“Text”的字母x,我不能将它的地址someChar[1]移动到某个偏移量来访问x,因为这不是一个二维数组。

使用*someChar[1][2]会产生无效的间接错误 代码就像这样简单:http://ideone.com/OdvocT

4 个答案:

答案 0 :(得分:3)

您可以someChar[1][2]访问它。如果有一个指向char的指针数组,则数组元素的第一个维度用于字符串,第二个维度用于选择该字符串中的字符。

答案 1 :(得分:3)

那将是someChar[1][2]

someChar[1]是第二个数组元素,它是指向"Text"的第一个字母的指针。

答案 2 :(得分:0)

在C中(我不知道这一切在C ++中是如何工作的)

char *someChar[]={"Some","Text","Here"};

是一个指针数组。每个元素都是一个指针。

someChar[1]是一个指针。它指向char

*(someChar[1])char'T'(也可以someChar[1][0]访问)。
*(someChar[1] + 2)char'x'(也可以someChar[1][2]访问)。

答案 3 :(得分:0)

for every someChar+i{
    for every *(someChar+i){
        code you logic here
    }
}