现在,我只是简单地一次解决一个问题,目前,我只想将我的循环列表放入共享内存区域中。
到目前为止,我已经完成了以下步骤:
typedef struct FILE
{
struct FILE *f_link; /* forward link for linked list */
char name[255]; /* name of the file */
} FILE_entry;
作为我的结构体将持有对接下来文件的引用(即f_link)。这样我就可以通过->f_link调用链表中的下一项,并且第10个元素将简单地将其f_link指向第1个元素。我这样做的原因是可以简单地遍历列表而不需要迭代器(并且不必像数组那样检查列表的末尾)。
我还知道我需要使用shmget获取内存区域,我理解它,我传递shmget一个键、一个大小和一个标志(我不理解),它返回一个int类型的标识符。
所以我的问题有两个。如何将我的链接列表存储到共享内存区域中-以及如何从共享内存区域中访问它?