Структура в структуре - PullRequest
       2

Структура в структуре

7 голосов
/ 08 декабря 2010

Подходит ли это использование и что оно означает?

struct Taken
{
int *p;
struct Taken *previous;
};

Ответы [ 6 ]

7 голосов
/ 08 декабря 2010

Это, вероятно, связанный список, но это не структура в структуре, это указатель на структуру.

3 голосов
/ 08 декабря 2010
struct Taken *previous;

Эта строка объявляет previous указателем на другую структуру того же типа Taken - это можно использовать для объединения нескольких таких структур, например, для формирования связанного списка. Если вы не знакомы с этим видом использования, вам, вероятно, стоит ознакомиться с указателями и их приложениями.

2 голосов
/ 08 декабря 2010

Да, это подходящее использование, и то, на что вы обращаете внимание, - это, скорее всего, узел в каком-то связанном списке.

2 голосов
/ 08 декабря 2010

Да, это типичная структура данных для связанного списка. Связанный список представляет собой структуру данных, которая состоит из последовательности записей данных, так что в каждой записи есть поле, которое содержит ссылку (то есть ссылку) на следующую / предыдущую запись в последовательности

http://en.wikipedia.org/wiki/Linked_list

0 голосов
/ 08 декабря 2010

Это стандартный элемент, который используется в связанном списке .

0 голосов
/ 08 декабря 2010

Это означает, что previous является указателем на структуру Taken. Да, это действительно.

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