Войти

Показать полную графическую версию : Можно ли создать указатель на указатель?


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

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

Megabizon
24-09-2003, 12:45
Указатель на массив указателей - 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]);
Обработайте код напильником, до получения нужной формы
Да, забыл - удаляешь в обратном направлении.

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

unknown bug
24-09-2003, 14:35
если строк много или неизвестное количество, разной длины, то имхо лучше использовать динамические массивы...




© OSzone.net 2001-2012