c - 如何查看结构体指针中的结构体是否包含元素

标签 c pointers for-loop struct

我有一个结构定义为:

typedef struct ltsaNode {
   int call;
   int action;
   ltsaNode *nextActions;
   ltsaNode *sibling;
} ltsaNode;

还有一个结构指针*wanted和一个int i

我想检查 wanted 中的任何结构的 call 是否等于 i

我当前的解决方案:

BOOL a = FALSE;
for(;wanted!= NULL;wanted->sibling)
{
    if(wanted->call == i)
    {
        a=TRUE;
        break;
    }
}

是否有更好或更快的方法来做到这一点?

最佳答案

我猜这就是您正在寻找的东西。

BOOL a = FALSE;
for(; wanted != NULL; wanted = wanted->sibling)
{
    if(wanted->call == i)
    {
        a = TRUE;
        break;
    }
}

关于c - 如何查看结构体指针中的结构体是否包含元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29229224/

相关文章:

c - 将字符串拆分为单词

php - 基于 PHP 循环的带有变量的 MYSQL SELECT 语句

java - 声明与其定义类型相同的结构变量

c - 仅对正整数进行用户验证

c - 从结构中的二维数组中释放动态分配的内存

c++ - 运算符 "new"仅返回一个类的非本地堆指针?

c - 在 C 函数中初始化结构指针

python - 如何将数组中的每个元素与大数相乘而不会出现 OverflowError : Python int too large to convert to C long?

java - 如何从扫描仪获取多个输入并将数字分配给一个值?

在不扰乱 gcc 的情况下检查 *char[] 的指针是否为 NULL