78 lines
3.1 KiB
Markdown
78 lines
3.1 KiB
Markdown
|
---
|
|||
|
title: Structures
|
|||
|
localeTitle: сооружения
|
|||
|
---
|
|||
|
## Структуры в C
|
|||
|
|
|||
|
### Что такое структуры?
|
|||
|
|
|||
|
* **Структура** - это определяемый пользователем тип в C. Он основан на идее, что в определенные моменты программист хочет управлять не только примитивными типами данных, но и определенными программистом типами данных.
|
|||
|
* **Структура** , как следует из названия, состоит из различных примитивных типов данных, таких как символ, целые числа, переменные с плавающей запятой, массивы и т. Д.
|
|||
|
* **Структура** также может содержать различные другие пользовательские типы данных. Затем вы узнаете о вложенных структурах.
|
|||
|
* **Структуры** составляют основу **_объектно-ориентированного программирования,_** поскольку понятие _класса_ происходит из структур.
|
|||
|
|
|||
|
### ключевое слово struct
|
|||
|
|
|||
|
* `struct` ключевое слово может помочь нам в определении пользовательского типа данных.
|
|||
|
|
|||
|
```C
|
|||
|
struct StudentRecord
|
|||
|
{
|
|||
|
char Name[20];
|
|||
|
int Class;
|
|||
|
char Address[30];
|
|||
|
char Phone[10];
|
|||
|
};
|
|||
|
```
|
|||
|
|
|||
|
* Мы также можем определить **структуру,** используя **typedef,** что упрощает инициализацию структуры позже в нашей программе.
|
|||
|
|
|||
|
```C
|
|||
|
typedef struct StudentRecord
|
|||
|
{
|
|||
|
char Name[20];
|
|||
|
int Class;
|
|||
|
char Address[30];
|
|||
|
char Phone[10];
|
|||
|
}Record;
|
|||
|
```
|
|||
|
|
|||
|
В `main()` пользовательский тип **StudentRecord** типа **данных** определяется как:
|
|||
|
|
|||
|
```C
|
|||
|
int main(void)
|
|||
|
{
|
|||
|
struct StudentRecord student1;
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
И используя **typedef** , пользовательский тип данных выглядит так:
|
|||
|
|
|||
|
```C
|
|||
|
int main(void)
|
|||
|
{
|
|||
|
Record student1;
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
Чтобы получить доступ к данным, хранящимся в **student1** , мы используем оператор dot ( **.** ) Для доступа к содержимому переменной типа структуры.
|
|||
|
|
|||
|
```C
|
|||
|
int main(void)
|
|||
|
{
|
|||
|
struct StudentRecord student1;
|
|||
|
student1.Class = 10;
|
|||
|
printf("Enter Name of Student\n");
|
|||
|
scanf("%s",&student1.Name);
|
|||
|
printf("Enter Address of Student\n");
|
|||
|
scanf("%s",&student1.Address);
|
|||
|
printf("Enter Phone Number of Student\n");
|
|||
|
scanf("%s",&student1.Phone);
|
|||
|
// Printing the Data
|
|||
|
printf("Name: %s \n, Class: %d \n, Address: %s \n, Phone: %s \n",student1.Name, student1.Class, student1.Address, student1.Phone);
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
### Больше информации
|
|||
|
|
|||
|
https://www.tutorialspoint.com/cprogramming/c\_structures.htm
|