如何使用字符串字符数组中的 ++ 运算符访问下一个字符串
How to access the next string with the ++ operator in a character array of strings?
// This is an array which contains char pointers.
// These char pointers will be pointing to strings.
char* strings_array[100];
strings_array[0] = (char*)"anisha";
strings_array[1] = (char*)"kaul";
strings_array[2] = (char*)"shizuka";
strings_array[3] = (char*)"sharma";
// Access the whole 1st string.
std::cout << *strings_array;
// Access the whole 2nd string.
std::cout << strings_array[1];
以上是我尝试过的,它奏效了。我想知道如何使用 ++ 运算符到达第二个字符串。
将++作为修复前或修复后strings_array
会导致lvalue required error
。
strings_array
声明如下:
char* strings_array[100];
是一个不可修改的左值,因此它不能成为++
运算符的操作数,因为它确实修改了其操作数。
但是,您可以将ptr
定义为指向数组的第一个元素的指针strings_array
:
char **ptr = &strings_array[0];
此ptr
是一个可修改的左值,因此它可以成为++
的操作数。
当我们在 char 数组数据类型中自动存储多个字符时,它是 Double Dimension.char* 是指向 char 数据类型的指针.char** 是指向指针 char 的指针。这里我们已经声明了 char* strings_array所以必须使用 char** 来存储 char 指针变量的地址.使用它,我们可以通过使用 char** 变量中的 ++ 运算符递增地址来逐个访问字符串元素。
在我们的示例中,CPR 是 char** 变量,最初存储 char*strings_array 的起始地址,CPR++ 递增地址,因为 CPR 是存储 char* 地址
的字符**#include <iostream>
using namespace std;
int main()
{
char* strings_array[100];
strings_array[0] = (char*)"anisha";
strings_array[1] = (char*)"kaul";
strings_array[2] = (char*)"shizuka";
strings_array[3] = (char*)"sharma";
cout <<"n"<< *strings_array;
cout <<"n"<< strings_array[1];
char **cpr=&strings_array[0];
cout<<"n String Values using string pointer";
cout<<"n------------------------------------";
for(int i=0;i<4;i++)
{
cout<<"n"<<*(cpr);
cpr++;
}
return 0;
}
输出
anisha
kaul
String Values using string pointer
------------------------------------
anisha
kaul
shizuka
sharma
希望你理解这个概念。谢谢
相关文章:
- 我可以使用条件运算符初始化C风格的字符串文字吗
- 为什么字符串比较的 == 运算符相对于任一字符串长度线性时间(似乎)?
- 是否可以将带有字符串化运算符的宏转换为 constexpr?
- 在 c++ 中对字符串进行操作的关系运算符无法按预期工作
- Qt PL/SQL - 赋值运算符 - 字符串缓冲区太小
- 重载 std::字符串运算符+ 用于打印枚举名称
- <<运算符优先级与字符串比较
- C++ |<<运算符重载和打印字符串
- ">"运算符和"<"运算符如何进行字符串比较?
- C++重载字符串 [] 运算符以返回字符串和
- C++STL字符串运算符+关联性
- 字符串运算符,如std::String
- 字符串运算符的求值顺序未指定
- 重载字符串运算符+
- c++字符串+=运算符内存结果
- 字符串运算符 += 有时在 string::resize() 之后不起作用
- 字符串::运算符+=出现问题
- 从 C++ 到 PHP 的'+'字符串运算符
- 字符串::at和字符串::运算符[]之间的区别是什么
- 字符串运算符重载我真的不明白