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