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

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

Войти
Регистрация
Восстановить пароль
 
igorperzh
3 / 3 / 0
Регистрация: 30.05.2011
Сообщений: 41
#1

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

30.05.2011, 23:15. Просмотров 497. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выделение памяти для массива через функцию и использование этого массива (C++):

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

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

Выделение памяти для массива - C++
верно ли выделил память для массива если нет поправьте, заранее спасибо) class type { private: int ***p; int x, y, z; public: ...

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

Динамическое выделение памяти для массива - C++
Кто может помочь решить задачу. Для заданного двумерного массива из n строк и m столбцов вывести на экран следующее меню операций: ...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,460
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
Привет! Вот еще темы с ответами:

Выделение динамической памяти для двумерного массива. - C++
#include &lt;iostream&gt; int main() { setlocale( LC_ALL,&quot;Russian&quot; ); int N, M; std::cout &lt;&lt; &quot;Введите кол-во строк в массиве:...

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

Выделение памяти для хранения массива данных - C++
Вопрос заключается в том, как правильно задать размер массива. Знаю что можно константой, но мне нужно, чтоб пользователь сам задал его. ...

Выделение динамической памяти для массива точек - C++
Доброго времени суток. Вот у нас есть структура точка struct point { double x,y; } p;


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

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

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