如何使用指针获取字符串的某个索引处的字符?

时间:2018-05-10 14:24:55

标签: c++ arrays string pointers

我正在尝试创建一个对字符串执行某些操作的函数。根据我的理解,字符串是字符数组。所以写一下:

cout << name[0];

我们打印一个名为'name'的假定字符串写的第一个字符。

在我的函数中,我必须使用指针来执行所有函数。我目前的做法是制作一个指针:

string *str=&name;

但是当我尝试通过写:

打印指定索引处的字符时
cout << *str[0];

它没有编译,我不确定是什么问题。一个解决方案是创建一个动态字符数组,但我想知道是否可以使用指针获取字符串的某些索引处的字符?

1 个答案:

答案 0 :(得分:3)

operator[]的{​​{3}}高于operator*,因此*str[0]*(str[0])相同。 str[0]返回char,对char的尊重没有意义..

将其更改为(*str)[0]