Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
igorperzh
3 / 3 / 0
Регистрация: 30.05.2011
Сообщений: 41
1

Выделение памяти для массива через функцию и использование этого массива

30.05.2011, 23:15. Просмотров 537. Ответов 1
Метки нет (Все метки)

Я определяю свою структуру, создаю динамический массив, где будут храниться элементы этой структуры. Есть функция которая выделяет память, потом создает элемент структуры, считывает данные с клавиатуры и добавляет в массив этот элемент. Затем я хочу использовать этот массив в другой функции. Но при обращении к массиву прога выдает ошибку.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
using namespace std;
struct sStr
{
    int iNumber;
};
void uvel(sStr *arr);
void print(sStr *arr);
int main()
{
    sStr *arr = 0;
    uvel(arr);
    print(arr);
    return 0;
}
 
void uvel(sStr *arr)
{
    arr = new sStr[1];
    sStr Quick;
    cin >> Quick.iNumber;
    arr[0] = Quick;
}
void print(sStr *arr)
{
    sStr Quick2;
    Quick2 = arr[1];
    cout << Quick2.iNumber;
}
Подскажите как ее исправить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2011, 23:15
Ответы с готовыми решениями:

Выделение памяти для массива
Пишу такой код: int main() { int* arr1 = new int; } Всё норм. Теперь такой:

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

Выделение памяти для массива
верно ли выделил память для массива если нет поправьте, заранее спасибо) class type { private:...

Динамическое выделение памяти для массива
Кто может помочь решить задачу. Для заданного двумерного массива из n строк и m столбцов вывести...

Выделение памяти для непрямоугольного массива
Возник вопрос: У меня в любительской прожке. Для ускорения расчётов формируется два массива...

1
kravam
быдлокодер
1709 / 896 / 105
Регистрация: 04.06.2008
Сообщений: 5,531
31.05.2011, 00:14 2
К изучению
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
struct sStr
{
        int iNumber;
};
void uvel(sStr**arr);
int main()
{
        sStr *arr= 0;
        uvel(&arr);
 
        printf ("arr[0].iNumber= %d\n", arr[0].iNumber);
        getchar ();
        getchar ();
        return 0;
}
 
void uvel(sStr **arr)
{
        *arr = new sStr[1];
        cin >> (*arr)[0].iNumber;
}
Добавлено через 4 минуты
А проще так можно сделать: выдели память под структуру в main и передай указатель на структуру в функцию, а дальше работай с ним по плану.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2011, 00:14

Выделение памяти для двумерного массива
Обьясните что означает double** A = new double*, A = new double;,cout.precision(2);, delete...

Динамическое выделение памяти для массива
Не могу разобраться, почему программа вызывает точку остановы после выбора действия в функции,...

Динамическое выделение памяти для двумерного массива
нужна помощь вот тело программы, не могу сделать динамическое выделение памяти для первого...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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