gpt4 book ai didi

c - 如何在结构数组的末尾提供哨兵值

转载 作者:行者123 更新时间:2023-12-04 12:00:41 24 4
gpt4 key购买 nike

我创建了一个包含 10 个元素的结构(标记值第 11 个)和一个结构指针,将第一个结构元素的地址分配给它。

struct student
{
int roll_no;
};

struct student s[11];
struct student *ptr = &s[0];

s[10] = NULL; // Sentinel value
while (*ptr != NULL ) // Sentinel Controlled Loop
{
printf ("%d - ", ptr -> roll_no);

ptr++;
}

如何在结构数组的末尾提供标记值?

编辑:结构中的值正在动态变化,即我已经为 10 个结构创建了空间,但它们可能会在某个时刻只有 5 个元素出现。和标记值在第 6 位。
当用户输入一个新的结构元素时,标记值向前移动等所以我不能使用 (int i < 10) 条件来简单地打印所有值。

最佳答案

你的 sentinel 必须是 int 类型(或 struct student 中的其他字段),例如:

s[10].roll_no = -1;

您的 while 循环将如下所示:

while(ptr->roll_no != -1)
{
...
ptr++;
}

关于c - 如何在结构数组的末尾提供哨兵值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24720551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com