Дефиниране на структури
Структурата представлява съвкупност от една или повече променливи, които могат да от различни типове. Дефиницията на структура има следния синтаксис:
- Заглавна част, която се състои от ключовата дума
struct
последвана от името на структурата. - Тяло, в което се описват членовете на структурата. Тялото на дефиницията е оградено от фигурни скоби и задължително трябва да бъде последвано от точка и запетая ‘
;
‘.
В следващия фрагмент е дефинирана структурата point
:
struct point { double x; double y; };
Идеята на тази структура е да съдържа координатите на точка в равнината. Поради това структурата е дефинирана с два члена – x
и y
от типа double
, които представят координатите на точка в равнината.
След дефинирането името на структурата се превръща в име на тип и може да се използва за дефиниране на променливи. В следващия фрагмент е дефинирана променлива p
от типа на дефинираната по-горе структура point
.
point p;
[note]
Обърнете внимание, че в C за да се дефинира променлива която е от типа на дефинираната структура трябва да се използва конструкцията struct point p;
Тази конструкция е валидна и C++}
[/note]
При дефинирането на променлива от типа на дефинирана структура, тя може да се инициализира. За целта след дефиницията на променливата трябва да се постави списък с инициализатори, които съответстват на членовете на структурата. Например, ако искаме да инициализираме променлива от типа point
, то списъкът от инициализатори трябва да съдържа първо стойност за първия член на структурата, т.е. за x
-координатата, а след това стойност за втория член на структурата, т.е. за y
-коодрдинатата:
point p={1.0,2.0};
В представения пример членът x
на променливата p
получава начална стойност 1.0, а членът y
– стойност 2.0.
Достъпът до елементите на структурата се осъществява с използването на оператора ‘.
‘ – оператор за достъп до член. Този оператор свързва името на структурата с името на члена. Например:
point p; p.x=1.0; p.y=2.0;
Pingback: CPP-101: Кратък обзор на езика за програмиране C++ | Записки по програмиране