какой смысл ставить указатель после структуры данных? - PullRequest
0 голосов
/ 25 мая 2018

Я новичок в программировании на C и только что узнал о структурах.У меня вопрос, какой смысл ставить указатели после определения структуры?как в этом примере (это мой старший код между прочим):

struct lecturer { 
    char Lecturer_ID[40];
    char Lecturer_Passport[40];
    char Lecturer_Name[40];
    char Lecturer_Password[40];
    struct lecturer *next; 
} *start, *curr;

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

Код, который вы опубликовали, определяет оба типа struct lecturer и 2 переменные start и curr с указателем типа на struct lecturer.Это могло бы быть написано как отдельные определения для ясности:

struct lecturer { 
    char Lecturer_ID[40];
    char Lecturer_Passport[40];
    char Lecturer_Name[40];
    char Lecturer_Password[40];
    struct lecturer *next; 
};

struct lecturer *start;
struct lecturer *curr;

Комбинированное определение требуется, если struct не маркирован и не определен с помощью typedef.

0 голосов
/ 25 мая 2018

Это связано с темой «Связанный список».

Представьте, что у вас есть неизвестное количество лекторов, которые будут вам предоставлены во время выполнения.Таким образом, вам придется динамически выделять пространство в памяти каждый раз, когда необходимо обработать новую запись лектора.

В этом случае вы будете использовать указатель «следующий», чтобы создать связь между структурированными данными того же типа..

Тем не менее, вы можете найти много более подробных (и более качественных) объяснений на этом сайте, на YouTube и т. Д. Просто выполните поиск по «Связанному списку»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...