c 反向循环结构体数组

标签 c arrays reverse

我正在尝试反向循环struct数组,但不太确定如何进行。这就是我通常循环的方式:

    struct Thing* ptr = things;
    struct Thing* endPtr = things + sizeof(things)/sizeof(things[0]);

    for(ptr < endPtr)
    {
        // do stuff
    }

最佳答案

假设 N >= 0,您的 things 序列的项目大小,您当然可以使用索引,但实际上您只需要一个指针:

struct Thing *ptr = things + N;
while (ptr != things)
{
    --ptr;

    // do something with *ptr;
}

关于c 反向循环结构体数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40545010/

相关文章:

c++ - sprintf '+' 字符不打印

c - 如何在 OpenBSD 5.8 中使用 makefile

php - 如何访问数组的对象(stdClass Object)成员/元素的属性?

c++ - 如何在 C++ 矩阵 2D 的其他对角线上找到平行对角线反转

c - 同步写入使用 FILE_FLAG_OVERLAPPED 打开的文件

c - 我如何知道将指针传递给函数后可以释放它?

java - 玩家在数组中的移动

arrays - Mongoose 推送嵌套子文档数组

Python 反转嵌套字典

c++ - 使用 for 循环反转数组什么都不做