Strutture in C ++. parte 2





++ struttura, struttura C ++, struct C ++. strutture annidate

Con strutture C ++ abbiamo già imparato nel precedente articolo. Continuiamo conoscente.

definizione struttura è desiderabile disporre di fuori principale() funzioni. Allora sarà in grado di lavorare con altra funzione definita dal programmatore, come mostrato nel nostro Esempio della prima parte. Questa dichiarazione chiamata esterna.

inizializzazione. Gli elementi della struttura possono essere inizializzati direttamente quando si dichiara oggetto.

Dichiariamo l'oggetto volume 1 in linea 13 e condurre la sua inizializzazione. Sembra per inizializzare gli elementi dell'array – tra parentesi graffe e separati da virgole. Questi dati sono scritti negli elementi corrispondenti della struttura dell'ordine. In che ordine sono definiti gli elementi di struttura – e poi registra valori. L'operazione era ancora possibile non utilizzare (secondo il C ++ 11).

Рассмотрим такую инициализацию на примере с более сложной структурой Donna meravigliosa :

++ struttura, struttura C ++, struct C ++. strutture annidate

Объект этой структуры можно инициализировать так:

++ struttura, struttura C ++, struct C ++. strutture annidate

Ma se la struttura contiene più di due o tre elementi -zhelatelno non fare. E 'un po' di confusione e complica la leggibilità e la comprensione del programma.

Annuncio di oggetti. Creare l'oggetto struttura può essere direttamente durante la sua determinazione. Per fare questo, è necessario dare il nome di un oggetto tra un punto e virgola e una parentesi graffa di chiusura:

В С++ есть возможность определить структуру без дескриптора (без имени типа):

В таком случае надо обязательно объявлять объекты в определении структуры. В главной функции вы уже не сможете создать другие объекты этой структуры, так как дескриптора нет. Этот прием есть смысл применять, если объектов структуры будет очень мало – 1 o 2.

Присваивание (=) для структур. Для объектов одной структуры можно применить операцию присваивания = . Операция присвоит элементам одного объекта значения элементов второго объекта.

Это так называемое поэлементное или почленное присваивание. Lo schermo:

++ struttura, struttura C ++, struct C ++. strutture annidate

Сработаловсе элементы объекта структуры volume2 стали равны элементам объекта volume 1.

Память занимаемая структурой. Si consideri l'esempio: используя оператор taglia di, узнаем сколько памяти занимает каждый элемент структуры в отдельности. Посчитаем общий объем памяти элементов. Потом применим taglia di к объекту структуры и увидим, что размеры не совпадают.

Lo schermo:

++ struttura, struttura C ++, struct C ++. strutture annidate

taglia di показал нам сколько памяти занимает каждый элемент структуры HandsomeMan. Мы эти значения суммировали и получили 25. То есть по идее структура должна занимать 25 байт оперативной памяти. Но когда мы применяем оператор taglia di к структуреполучаем значение 28.

Размер объекта структуры не всегда равен сумме размеров его элементов. Так случается из-за выравнивания элементов разной длины. Поэтому в структуре могут встречаться безымянные участки памяти. Если вам надо знать сколько в действительности занимает структура в памятипримените taglia di , come nell'esempio.

Это видео из предыдущего урока. Кто не смотрелуделите время




Мы узнали как определять структуры, как объявлять и инициализировать их объекты. Если нам понадобится создать больше чем 2-3 объекта структуры, тогда лучше создать массив структур. Эту тему рассмотрим в следующей статье.

Per sostenere il nostro sito – cliccare sul salvadanaio e scegliere qualsiasi modo conveniente.

Newsletter nuove lezioni:


Accetto di ricevere messaggi da purecodecpp.com sulla mia e-mail

data
pagina
Strutture in C ++. parte 2
valutazione
5

3 pensieri su "Strutture in C ++. parte 2

  1. странно, но с именем в структуре беда, а точнее когда вводишь
    volume = { “nome”, eccetera ;

Lascia un Commento

Inserire il codice nei tag: <pre class="lang:C ++ decodifica:true ">IL TUO CODICE</pre>