我创建了一个由 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
你的哨兵必须是类型int
(或内的其他一些字段struct student
), 例如:
s[10].roll_no = -1;
Your while
循环如下:
while(ptr->roll_no != -1)
{
...
ptr++;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)