首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在结构阵列的末端提供前哨值

如何在结构阵列的末端提供前哨值
EN

Stack Overflow用户
提问于 2014-07-13 07:43:37
回答 1查看 1.5K关注 0票数 3

我创建了一个由10个元素组成的结构(哨兵值为11个)和一个结构指针,将第一个结构元素的地址分配给它。

代码语言:javascript
运行
复制
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个元素。第六位的哨兵值。

当用户输入一个新的结构元素时,前哨值会向前移动等等,因此我不能使用(int < 10)条件简单地打印所有值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-13 07:54:21

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

代码语言:javascript
运行
复制
s[10].roll_no = -1;

您的while循环如下:

代码语言:javascript
运行
复制
while(ptr->roll_no != -1)
{
    ...
    ptr++;
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24720551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档