183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
|
|
1 | |
Структуры17.10.2013, 19:54. Показов 2627. Ответов 17
Метки нет (Все метки)
Добрый вечер. Может кто объяснить что такое структуры(что означают записанные переменные в структуре и после фигурных скобок, перед ; и т.д.) и зачем в них ->? Читаю Дейтела, но так и не понял. В интернете понятного разъяснения не нашел.
0
|
17.10.2013, 19:54 | |
Ответы с готовыми решениями:
17
Помещение структуры в вектор, удаление структуры, изменение элементов структуры Динамические структуры данных. Программа ввода в структуры и вывода информации из неё. Функция внутри структуры использует указатель, как поле этой структуры Структуры, массивы структур (как можно присваивать(инициализировать) значения полям структуры) |
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
|
||||||
17.10.2013, 20:31 | 2 | |||||
0
|
193 / 170 / 32
Регистрация: 09.09.2013
Сообщений: 522
|
||||||
17.10.2013, 20:54 | 3 | |||||
допустим, у нас есть автомобиль.
у автомобиля есть такие атрибуты как марка, модель, цвет, год издания, максимальная скорость и другие и чтобы все эти значения "держать" в одном месте, можно использовать одну структуру назовем ее car:
1
|
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
|
||||||
17.10.2013, 22:27 [ТС] | 4 | |||||
Olivеr, _,
0
|
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
|
|
17.10.2013, 23:22 | 5 |
a[20] - массив из 20-ти car, i и k - переменные типа car
используется для доступа к членам класса через указатель на объект. в примере есть
1
|
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
|
|
17.10.2013, 23:34 [ТС] | 6 |
Olivеr, как может быть переменная типа car?
0
|
193 / 170 / 32
Регистрация: 09.09.2013
Сообщений: 522
|
|||||||||||||||||||||
18.10.2013, 08:49 | 7 | ||||||||||||||||||||
Ryuk, car - это тип переменной (как char, int, float и другие) но только это собственный тип переменной, определенный программистом
i и k - это отдельные переменные типа car (не массивы) для доступа к полю первого авто в массиве используется оператор точка: a[0].make = "Honda"; // для первого автомобиля установили его марку но если у нас указатель, то для доступа к членам нужно использовать стрелку car *avto = new car; avto->make = "Honda"; Добавлено через 7 минут тут смысл вот какой. переменные можно определять сразу же после закрывающей фигурной скобки через запятую, а можно и отдельно, в другой части программы
про -> уже ответили Добавлено через 3 минуты тут можно просто запомнить, что есть два типа переменных: обычные и указатели. для обычных переменных для доступа к членам структуры используется оператор точка:
0
|
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
|
||||||
18.10.2013, 14:44 [ТС] | 8 | |||||
_,
0
|
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
|
||||||
18.10.2013, 14:52 | 9 | |||||
как именно запишешь?
так?
1
|
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
|
|
18.10.2013, 15:07 [ТС] | 10 |
Raali, нет, я не могу в main записать просто a = .... без оператора "точка"?
0
|
193 / 170 / 32
Регистрация: 09.09.2013
Сообщений: 522
|
|||||||||||
18.10.2013, 15:13 | 11 | ||||||||||
в саму a невозможно ничего записать. a - это составной тип и состоит из полей year и color
нет, не можешь
1
|
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
|
||||||
18.10.2013, 15:19 | 12 | |||||
давайте пойдем от обратного... зачем нам нужна именно структура?
для того, чтобы мы не писали так -
0
|
18.10.2013, 15:35 | 13 |
Структура - это способ упаковки.
Зашли, к примеру, в супермаркет, набрали всего полную тележку, подъехали к кассе и предъявили покупки. Ваша тележка - это структура. Товары в ней - элементы структуры. Если однородного товара несколько штук - это массив элементов. Если есть товары в упаковке - это вложенная структура. . и -> - это способы адресации элементов структуры (непосредственная и косвенная). Когда берете товар из своей тележки - это . (непосредственная) Когда говорите - это из тележки того парня - это -> (косвенная).
0
|
193 / 170 / 32
Регистрация: 09.09.2013
Сообщений: 522
|
||||||||||||||||||||||||||
18.10.2013, 15:38 | 14 | |||||||||||||||||||||||||
Ryuk, напишу проще))
вообщем есть автомобиль. что мы о нем должны знать? год издания и цвет (конечно можно добавить еще кучу дополнительных атрибутов) но в данный момент нам нужны только год издания и цвет. мы объявляем такую структуру:
чтобы напечатать год издания, то через точку . можем получить любой атрибут нашего авто
конечно, можно обойтись и без структур, объявить несколько переменных. одна переменная будет указывать год издания, другая цвет. как ответил Raali в предыдущем посте. но в этом одни только минусы. во-первый количество этих переменных будет много. представь, если для машины будем указывать не два атрибута а 10 или 20. (год издания, марка авто, цвет, количество дверей, количество сидений, цена, тип двигателя ....) и для каждого атрибута должны определить отдельную переменную. а если автомобиль не один а 100. что тогда? бессчетное количество никому ненужных переменных. а так всё хранится в одной структуре! красота)
0
|
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
|
||||||
18.10.2013, 22:02 | 15 | |||||
0
|
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
|
|
18.10.2013, 22:20 [ТС] | 16 |
_, не могли бы вы еще помочь с данной темой, т.к. думаю вы человек знающий и имеющий способность хорошо объяснять?
0
|
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 787
|
|
18.10.2013, 22:27 | 17 |
Меня тоже мучает такой же вопрос.Если я все правильно понял в программе вместо кучи разных переменных можно создать одну структуру и использовать ее как эти переменные т.е передавать в функции подставлять в формулы короче производить все необходимые действия как с обычными переменными.Или я не правильно понял.
0
|
54 / 54 / 37
Регистрация: 05.09.2013
Сообщений: 1,864
|
|
19.10.2013, 04:24 | 18 |
0
|
19.10.2013, 04:24 | |
19.10.2013, 04:24 | |
Помогаю со студенческими работами здесь
18
Вывод структуры, строка как элемент структуры Исследование структуры FILE или: что вообще можно выудить из этой структуры, указатель на которую мы получаем при открытии файла? Оператор if и структуры. Возвращение структуры из функции Структуры. Вызов данных структуры по указателю. с++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |