Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
W03L
7 / 7 / 2
Регистрация: 21.10.2009
Сообщений: 33
#1

выделить память для массива*[] - C++

27.01.2010, 15:52. Просмотров 845. Ответов 4
Метки нет (Все метки)

привет.
чего-то не получается организовать работу массива
Код
char *c[10];
это динамический массив строк длиной 10
при конструкторе
Код
*c=new char[99];
работает только 0 элемент.
как мне выделить память под этот массив?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2010, 15:52     выделить память для массива*[]
Посмотрите здесь:

Как выделить память для динамического массива? - C++
Как выделить память для динамического массива? typedef TPrimitives *TPrimitive; //... TPrimitives Primitives; Мне нужно выделить...

Как выделить память для двухмерного массива? - C++
Как выделить память для двухмерного массива в С++ a=new int???

Выделить динамическую память для 2-х мерного массива из N-строк - C++
Помогите с задачей Задание: "Выделить динамическую память для 2-х мерного массива из N-строк след.вида:"

Невозможно выделить память для массива постоянного нулевого размера - C++
unsigned const __int16 scrx = GetSystemMetrics(SM_CXSCREEN); char sstring; Что не так в этих двух строках? в scrx гарантированно...

Невозможно выделить память для массива постоянного нулевого размера - C++
/* Дан массив из N элементов (вещественные числа). Вычислить: 1) произведение элементов массива с нечетными номерами; 2) сумму...

Массивы : невозможно выделить память для массива постоянного нулевого размера - C++
Помогите или направьте. 1>3.cpp(10): error C2057: требуется константное выражение 1>3.cpp(10): error C2466: невозможно выделить...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 1
27.01.2010, 16:01     выделить память для массива*[] #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main()
{
    char *arr[3];
    arr[0] = new char[7];
    strcpy(arr[0], "string");
    //.....
    //arr[i] = new char[..];
    //strcpy(arr[i], "...");
    //.....
    std::cout << arr[0] << std::endl;
 
    delete arr[0];
    //...
    //delete arr[i];
    //...
    return 0;
}
Monte-Cristo
2788 / 1374 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
27.01.2010, 16:04     выделить память для массива*[] #3
Цитата Сообщение от W03L Посмотреть сообщение
это динамический массив строк длиной 10
Отнюдь! Это массив для 10 строк (размера, какого вы создадите)


Цитата Сообщение от W03L Посмотреть сообщение
работает только 0 элемент.
C
1
2
for (int i=0; i<10; i++)
с[i] = new char[99];
Вот это создание 10 строк, каждая из которых длинной в 99 символов.
W03L
7 / 7 / 2
Регистрация: 21.10.2009
Сообщений: 33
27.01.2010, 16:39  [ТС]     выделить память для массива*[] #4
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
Отнюдь! Это массив для 10 строк (размера, какого вы создадите)
а если
Код
char c[10][99];
и потом
Код
strcpy(c[0],"someString");
это будет присвоение длиной 10 или 99?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2010, 18:00     выделить память для массива*[]
Еще ссылки по теме:

Как выделить память для класса - C++
Привет, я пишу библиотеку управления памятью. На данный момент я выделяю память вот так void * __cdecl MyAlloc(size_t size) { void *...

Как выделить динамически память для данных класса - C++
Как выделить динамически память для данных класса ? class circle { double x,y,r; public:void In(); void Out(); ...

Как динамически выделить память для конструкторов класса? - C++
подскажите как динамически выделить память для конструкторов класса? class circle { double x,y,r; public: void...

Выделить память под несколько элементов + вызвать конструктор для каждого - C++
Всем привет! Есть некий класс MyClass...., у него есть конструктор MyClass::MyClass (float); Я объявляю указатель: MyClass...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
insideone
Модератор
Автор FAQ
3638 / 916 / 49
Регистрация: 10.01.2010
Сообщений: 2,468
27.01.2010, 18:00     выделить память для массива*[] #5
99, ведь вы же определили это заранее.

C++
1
2
3
char* c[кол_во_строк]; // массив ссылок на строки
c[0] = new char[strlen("someString")+1]; // выделяем нужное кол во памяти, а вернее присваиваем указателю адрес где мы выделили нужное кол-во памяти.
strcpy(c[0],"someString");
Yandex
Объявления
27.01.2010, 18:00     выделить память для массива*[]
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru