从初始化的指针到这样的字符数组:
char *someChar[]={"Some","Text","Here"};
我怎么能调用例如“Text”的字母x,我不能将它的地址someChar[1]
移动到某个偏移量来访问x,因为这不是一个二维数组。
使用*someChar[1][2]
会产生无效的间接错误
代码就像这样简单:http://ideone.com/OdvocT
答案 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
}
}