Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
shax624
9 / 9 / 3
Регистрация: 09.03.2012
Сообщений: 94
1

Как передавать структуру в массив?

24.02.2013, 10:58. Просмотров 351. Ответов 5
Метки нет (Все метки)

А заполнять его как обычный массив??? через цикл?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2013, 10:58
Ответы с готовыми решениями:

Как передавать структуру в функцию?
Вопрос глупый, возможно, но я совсем не понимаю, как. Есть у меня в...

Как передавать ссылку на структуру в map?
Надо два контейнера один вектор со структурами второй мап с сылками на те...

Можно ли массив передавать как параметр?
Всем доброго дня! Короче, есть несеолько массивов, скажем два; - arrb и arrc....

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

Как передавать в функцию указатели на двумерный массив и как с помощью указателя двигаться по массиву?
Добрый день, уважаемые знатоки С++! Я долгое время работал в С#, но недавно...

5
NIch
400 / 311 / 74
Регистрация: 17.03.2010
Сообщений: 1,120
24.02.2013, 11:11 2
Да.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct TMyStruct{
  int a;
};
 
int main(){
  int n = 10;
  
  TMyStruct *MyStruct = new TMyStruct[n];
 
  for(int i = 0; i < n; i++)
    MyStruct[i]->a = i;
 
  delete [] MyStruct;
}
1
shax624
9 / 9 / 3
Регистрация: 09.03.2012
Сообщений: 94
24.02.2013, 11:23  [ТС] 3
Почему -> а не точка?

Добавлено через 6 минут
из за того что структура через указатель объявлена ?
0
NIch
400 / 311 / 74
Регистрация: 17.03.2010
Сообщений: 1,120
24.02.2013, 11:23 4
Точка - когда это массив структур, а тут динамический массив, т.е. массив указателей.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct TMyStruct{
  int a;
};
 
int main(){
  TMyStruct MyStruct1;                           // Создание структуры
  
  TMyStruct *MyStruct2 = new TMyStruct; // Создание указателя на структуру
 
  MyStruct1.a = 100;
  
  MyStruct2-> = 100;
 
  delete MyStruct2;
}
1
shax624
9 / 9 / 3
Регистрация: 09.03.2012
Сообщений: 94
24.02.2013, 11:26  [ТС] 5
спасибо
0
silent_1991
Эксперт С++
5013 / 3073 / 271
Регистрация: 11.11.2009
Сообщений: 7,045
Завершенные тесты: 1
28.02.2013, 12:22 6
Цитата Сообщение от shax624 Посмотреть сообщение
Почему -> а не точка?
Резонный вопрос.
Цитата Сообщение от NIch Посмотреть сообщение
Точка - когда это массив структур, а тут динамический массив, т.е. массив указателей.
Не правда, нет там массива указателей. Есть указатель на TMyStruct, которому присвоен адрес динамически выделенной области памяти, который мы можем интерпретировать как массив объектов этого самого типа TMyStruct. Именно объектов, и обращаться к ним надо через точку, а не через оператор косвенного доступа.
1
28.02.2013, 12:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2013, 12:22

Как передавать массив по ссылке, чтобы не работала копия массива?
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; int Min (int...

Как преобразовать структуру в javascript массив
Пишу FastCGI сервер и возникла необходимость перебросить данные из структуры в...

Как сделать ассоциативный массив с указателем на структуру?
У меня этот код не компилируется #include &lt;map&gt; #include &lt;iostream&gt; struct...


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

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

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