KNOW INTUIT, Лекция, Производни типове данни на език C
Асоциации
Обединяването ви позволява да поставите данни на едно място в паметта, достъпът до които се осъществява чрез променливи от различни типове.
Използването на съюзи значително спестява паметта, разпределена за обекти.
Когато създавате променлива от типа обединение, паметта за всички елементи на обединението се разпределя въз основа на размера на най-големия му елемент. Във всеки даден момент обединението се използва за достъп само до един елемент от данни в обединението.
И така, компилаторът на Visual C++ ще разпредели 4 байта за следната конкатенация:
Обединенията, подобно на структурите, могат да съдържат битови полета.
Достъпът до обединени елементи, подобно на достъпа до структурни елементи, се осъществява с помощта на оператори. и -> .
Членовете на обединение не могат да имат модификатори за достъп и винаги се изпълняват като публични.
Изброявания
Изброяванеилиизброен типдефинира набор, състоящ се от стойности, разделени със запетаи във фигурни скоби.
Изброяването задава свой собствен индекс за всяко мнемонично име в посочения набор.
Един enum може да има следното официално описание:
Изброен тип описва набор, състоящ се от постоянни елементи, понякога наричаниизброителиилиименувани константи.
Стойността на всеки изброител се дефинира като стойност от тип int. По подразбиране първият изброител е настроен на 0, вторият на 1 и т.н. За да инициализирате стойностите на изброителя не от 0, а от друга цяло число, трябва да присвоите тази стойност на първия елемент от списъка със стойности на изброения тип.
Заизброен тип, съществува концепцията за диапазон от стойности, дефиниран като диапазон от цели числа, които променлива от даден изброен тип може да приеме.
Можете да създадете указатели за изброен тип.