0 / 0 / 0
Регистрация: 30.01.2015
Сообщений: 40
|
|
1 | |
Разница между объединениями и структурами14.12.2015, 22:37. Показов 4649. Ответов 5
Метки нет Все метки)
(
Прошу разжевать вот эту строчку :"Дополню, что из вышесказанного следует, что структура способна хранить все свои элементы одновременно, а объединение в один момент времени может интерпретироваться только как один из своих элементов." Вообщем , какая разница между struct и union?
0
|
|
14.12.2015, 22:37 | |
Ответы с готовыми решениями:
5
Разница между классами и структурами и другие моменты В чем разница между структурами WIN32_FIND_DATA LPWIN32_FIND_DATA LPWIN32_FIND_DATAA WIN32_FIND_DATAA Какая разница между различными сокетами (например, между 775 и 1155)?
|
0 / 0 / 0
Регистрация: 30.01.2015
Сообщений: 40
|
||||||
14.12.2015, 23:03 [ТС] | 3 | |||||
В том то и дело , что не могу понять принцип такого результата:
Почему так?
0
|
528 / 431 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
|
|
14.12.2015, 23:23 | 4 |
Потому что в структуре x и y - это две отдельные переменные, с двумя отдельными областями памяти. А в объединении это одна область памяти на все объявленные переменные. Поэтому, записывая в одну из них, ты "повреждаешь" значение во всех остальных.
0
|
0 / 0 / 0
Регистрация: 30.01.2015
Сообщений: 40
|
|
14.12.2015, 23:26 [ТС] | 5 |
А смысл тогда этого объединения?
0
|
528 / 431 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
|
|
14.12.2015, 23:29 | 6 |
В экономии памяти. Я могу, например, при передаче данных в функцию, выставить флаг, который указывает, какие данные в объединении переданы, тогда функция возьмет их по нужному полю. Будет другой флаг - по другому полю. И мне нужно будет выделять отдельно память для всех полей. Она общая. Но для доступа используется поле с конкретным типом.
0
|
14.12.2015, 23:29 | |
Помогаю со студенческими работами здесь
6
Разница между ! и ~ Разница между <T> и <?> Разница между * и all Разница между Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |