Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Можно ли создать указатель на указатель? (http://forum.oszone.net/showthread.php?t=30278)

Sharkky 24-09-2003 11:25 208038

Проблема: я хочу создать массив С-строк. Строка (массив символов) это указатель на char, продолжая эту логику, приходим к тому что мне нужно создать указатель на указатель на char. Видимо, я чего-то не правильно понимаю, потому, что компилятор ругается.
* *Если создать указатель на указатель можно, то как?
* *Если понятия указатель на указатель не существует, то помогите мне пожалуйста понять словсочетание void** ppvObj из следующего примера:

struct IUnknown
{
* virtual BOOL QueryInterface(int nIid, void** ppvObj);
* ...
};

Megabizon 24-09-2003 12:45 208039

Указатель на массив указателей - void любого типа.
Если хочешь создать массив строк вот пример, может поможет:
Код:

char **Array;
Array = new char*[2];// В массиве будут две строки
for(int i = 0; i < 2; ++i)
 * Array[i]=new char[20];//Создаем эти строки длинной
 * * * * * * * * * * * *//20 символов включая знак конца строки
// Заполняем строки
strcpy(Array[0],"Привет");
strcpy(Array[1],"Пока");
//Выводим содержимое
Caption = AnsiString(Array[0])+" "+AnsiString(Array[1]);

Обработайте код напильником, до получения нужной формы
Да, забыл - удаляешь в обратном направлении.

[s]Исправлено: Megabizon, 13:47 24-09-2003[/s]

unknown bug 24-09-2003 14:35 208040

если строк много или неизвестное количество, разной длины, то имхо лучше использовать динамические массивы...


Время: 22:43.

Время: 22:43.
© OSzone.net 2001-