'ptrArrMain' - массив указателей, который содержит два массива указателей (ptrArr1 и ptrArr2).У меня есть строка ab = "ab".Адрес ab [1] (т.е. адрес «b») хранится в элементе ptrArr1 [1].ptrArr1 [0] (т. е. адрес 'a') назначен для ptrArrMain [0].
Как получить адрес ab [1], используя только массив ptrArrMain?Я не хочу использовать какие-либо STL или предварительно закодированные функции.Я делаю это упражнение, чтобы улучшить мое понимание указателей.Спасибо.
int main()
{
string ab = "ab";
string cd = "cd";
char **ptrArrMain = new char*[2];
char **ptrArr1 = new char*[ab.length()];
char **ptrArr2 = new char*[cd.length()];
ptrArr1[0] = &ab[0];
ptrArr1[1] = &ab[1];
ptrArr2[0] = &cd[0];
ptrArr2[1] = &cd[1];
ptrArrMain[0] = ptrArr1[0];
ptrArrMain[1] = ptrArr2[0];
cout << &ab[1] << endl;
// TODO
// Get the address of ab[1] using 'ptrArrMain'.
// Do not use any other array.*/
}
Я думаю, что это должно быть возможно, потому что ptrArrMain [0] содержит адрес первого элемента "ab".С помощью адреса первого элемента «ab» я смогу получить адрес ab [1], увеличив (или каким-либо другим способом) адрес ab [0], который находится в ptrArrMain [0].