С ++ структури

В тази статия ще научите за структурите в програмирането на C ++; какво е това, как да го дефинирам и използвам във вашата програма.

Структурата е колекция от променливи от различни типове данни под едно име. Подобно е на клас в това, че и двата съдържа колекция от данни от различни типове данни.

Например: Искате да съхранявате някаква информация за дадено лице: неговото / нейното име, граждански номер и заплата. Можете лесно да създадете различни променливи име, citNo, заплата, за да съхранявате тази информация отделно.

В бъдеще обаче бихте искали да съхранявате информация за множество лица. Сега ще трябва да създадете различни променливи за всяка информация на човек: name1, citNo1, pay1, name2, citNo2, pay2

Можете лесно да си представите колко голям и разхвърлян би изглеждал кодът. Освен това, тъй като няма да съществува връзка между променливите (информация), това ще бъде обезсърчаваща задача.

По-добър подход ще бъде събирането на цялата свързана информация под едно име Personи използването й за всеки човек. Сега кодът изглежда много по-изчистен, четим и ефективен.

Тази колекция от цялата свързана информация под едно име Personе структура.

Как да декларирам структура в програмирането на C ++?

В structдума определя тип структура, последвано от идентификатор (име на структурата).

След това във фигурните скоби можете да декларирате един или повече членове (декларирайте променливи във фигурните скоби) на тази структура. Например:

 struct Person (char име (50); int age; плаваща заплата;);

Тук е дефинирана структура на лице, което има трима членове: име, възраст и заплата.

Когато се създава структура, не се разпределя памет.

Определението на структурата е само план за създаване на променливи. Можете да си го представите като тип данни. Когато дефинирате цяло число по-долу:

 int foo;

На intуточнява, че променливата Foo може да побере само цяло число елемент. По подобен начин дефиницията на структурата само указва това, какво свойство има структурна променлива, когато е дефинирана.

Забележка: Не забравяйте да завършите декларацията с точка и запетая (;)

Как да дефинирам структурна променлива?

След като декларирате човек от структурата, както по-горе. Можете да определите структурна променлива като:

 Лична сметка;

Тук законопроект структура променлива се определя който е от тип структура P erson.

Когато структурна променлива е дефинирана, само тогава необходимата памет се разпределя от компилатора.

Като се има предвид, че имате 32-битова или 64-битова система, паметта floatе 4 байта, паметта intе 4 байта, а паметта charе 1 байт.

Следователно, 58 байта памет се разпределят за фактура на структурна променлива.

Как да получите достъп до членове на структура?

Членовете на структурна променлива са достъпни с помощта на оператор точка (.) .

Да предположим, че искате да получите достъп до възрастта на структурата на променливата структура и да й присвоите 50. Можете да изпълните тази задача, като използвате следния код по-долу:

 bill.age = 50;

Пример: С ++ структура

Програма C ++ за присвояване на данни на членове на структурна променлива и тяхното показване.

 #include using namespace std; struct Person ( char name(50); int age; float salary; ); int main() ( Person p1; cout << "Enter Full name: "; cin.get(p1.name, 50); cout <> p1.age; cout <> p1.salary; cout << "Displaying Information." << endl; cout << "Name: " << p1.name << endl; cout <<"Age: " << p1.age << endl; cout << "Salary: " << p1.salary; return 0; ) 

Изход

Въведете пълно име: Магдалена Данкова Въведете възраст: 27 Въведете заплата: 1024.4 Показване на информация. Име: Магдалена Данкова Възраст: 27 Заплата: 1024.4

Тук е декларирана структура Лице, която има три членове име, възраст и заплата.

Вътре във main()функцията е дефинирана структурна променлива p1. След това потребителят е помолен да въведе информация и данните, въведени от потребителя, се показват.

Трябва също да разгледате тези уроци, свързани със структурата:

  • Как да предавам структури на функции?
  • Как да използвам указатели със структури?

Интересни статии...