C++ 如何在字符串的字符数组中使用++运算符访问下一个字符串?

C++ 如何在字符串的字符数组中使用++运算符访问下一个字符串?,c++,arrays,string,pointers,C++,Arrays,String,Pointers,以上是我尝试过的,并且成功了。我想知道如何使用++运算符获得第二个字符串 将++作为字符串数组的前修复或后修复将导致左值必需错误。字符串数组如中所声明: // This is an array which contains char pointers. // These char pointers will be pointing to strings. char* strings_array[100]; strings_array[0] = (char*)"a

以上是我尝试过的,并且成功了。我想知道如何使用++运算符获得第二个字符串

将++作为字符串数组的前修复或后修复将导致左值必需错误。

字符串数组如中所声明:

    // 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];
是不可修改的左值,因此它不能成为++运算符的操作数,因为它确实修改了其操作数

但是,您可以将ptr定义为指向数组字符串\u数组的第一个元素的指针:

此ptr是一个可修改的左值,因此它可以成为++的操作数。

strings\u数组,如中所述:

    // 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];
是不可修改的左值,因此它不能成为++运算符的操作数,因为它确实修改了其操作数

但是,您可以将ptr定义为指向数组字符串\u数组的第一个元素的指针:


此ptr是可修改的左值,因此,它可以成为++的操作数。

当我们在一个字符数组数据类型中自动存储多个字符时,它是双维的。char*是指向char数据类型的指针。char**是指向指针char的指针。这里我们已经声明了char*strings\u数组,所以必须使用char**来存储char指针变量的地址。使用这个我们可以在char**变量中使用++运算符,通过递增地址逐个访问字符串元素

在我们的示例中,cpr是char**变量,最初存储char*strings\u数组的起始地址,cpr++增加地址,因为cpr是char**存储char的地址*

char **ptr = &strings_array[0];

希望您理解这个概念。谢谢您当我们在一个字符数组数据类型中自动存储多个字符时,它是双维的。char*是指向char数据类型的指针。char**是指针指向指针char。这里我们已经声明了char*strings\u数组,因此必须使用char**来存储char指针变量的地址。使用它,我们可以通过在char**变量中使用++运算符逐个递增地址来访问字符串元素

在我们的示例中,cpr是char**变量,最初存储char*strings\u数组的起始地址,cpr++增加地址,因为cpr是char**存储char的地址*

char **ptr = &strings_array[0];

希望你能理解这个概念。谢谢你

你说的是你想要接受他们的意思吗?int i=0++我我不知道这是否有效不,这是行不通的。你不能增加数组类型。这对初学者来说是一个有用的常见问题。你知道所有这些都是不必要的,因为std::vector将指针组变成了一行无聊的单行程序吗?你说的是你想访问它们吗:std::coutHow你希望它能工作吗?int i=0++我std::cout@apalomer我不知道这是否有效不,这不起作用你不能增加数组类型。这对初学者来说是一个有用的常见问题解答。你知道所有这些都是不必要的,因为std::vector将指针组变成了一个无聊的单行程序?嗯,我不想修改任何东西,我只想把指针移到下一个字符串。用+++是不可能的吗?@Aquarius_Girl++必须修改指针,使其指向下一个元素。好吧,我不想修改任何东西,我只想将指针移动到下一个字符串。使用+++是否不可能?@Aquarius_Girl++必须修改指针,使其指向下一个元素。
anisha                                                                                                                                         
kaul  

String Values using string pointer                                                                                                            
------------------------------------                                                                                                           
anisha                                                                                                                                         
kaul                                                                                                                                           
shizuka                                                                                                                                        
sharma