我可以在不知道动态数组大小的情况下对其进行迭代

用户名

我在的动态数组中分配了一些数据struct我可以在struct *不知道大小的情况下进行迭代吗?

这行得通吗?

int main() {
    struct *foo = NULL;

    //struct filling

    iterate_foo(foo);
}

void iterate_foo(struct *foo) {
    int i=0;
 
    while (foo[i] != NULL) {    // Would this work?

        //something
    }
}

唯一可行的方法是,如果数组中有一个指示结束的哨兵值。C中的字符串以这种方式工作。

例如,如果您调用strcpy(a, b),则字符fromb将被复制到,a直到包括零值。如果b数组中没有零终止符,或者a其大小不足以容纳所有字符,则函数调用将导致未定义的行为。

如果您不想使用前哨值,则可以选择将大小作为单独的参数传递。另一种方法是将内容包装在容器结构中,如下所示:

struct container {
    struct mystruct *data;
    size_t size;
}

再者,struct *foo = NULL;是错误的。它必须像struct mystruct *foo = NULL;

但是,如果您有以下代码:

void foo(T *ptr) {
    // Do something
}

int main(void) {
    T *a = malloc(N * sizeof *a);
    T b[N];
    foo(a);
    foo(b);
}

然后,完全不可能fooN便携式方式解决问题。在某些情况下,请相信在malloc存储数据之前执行存储大小。但是不要尝试利用它。这只会导致严重的头痛。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在不知道原始数组大小的情况下增加动态数组(C ++)的大小?

来自分类Dev

在不知道数组大小的情况下输入数组

来自分类Dev

在不知道大小的情况下打印数组

来自分类Dev

有什么方法可以在不知道大小的情况下制作char数组

来自分类Dev

动态分配-用户在运行时不知道数组大小的情况下输入元素

来自分类Dev

在不知道其ID的情况下将焦点设置为动态创建的输入字段

来自分类Dev

是否可以在不知道其ID的情况下更新FaunaDB文档?

来自分类Dev

Linux用户可以在不知道当前密码的情况下更改其密码吗?

来自分类Dev

如何在不知道数组大小的情况下复制二维数组

来自分类Dev

在不知道字符串大小的情况下动态提示输入字符串

来自分类Dev

在不知道其尺寸的情况下切片数组

来自分类Dev

我如何在不知道图像ID的情况下更改其属性?

来自分类Dev

在不知道大小的情况下寻找图标

来自分类Dev

在不知道输入大小的情况下对字符串向量进行排序c ++

来自分类Dev

在不知道ID的情况下进行更新

来自分类Dev

在不知道ID的情况下进行更新

来自分类Dev

我可以在不知道type参数的情况下持有shared_ptr吗?

来自分类Dev

在不知道函数代码中其性质的情况下分配数组或整数(但编译器知道)

来自分类Dev

如何在不知道其大小且无需多次读取的情况下从文件加载矩阵?

来自分类Dev

我可以在不知道其当前值的情况下向数据库中的int添加一些值吗

来自分类Dev

我们可以在不知道其真实类型的情况下将基类指针转换为派生类指针吗?

来自分类Dev

我可以在不知道其当前值的情况下向数据库中的int添加一些值吗

来自分类Dev

如何在不知道其长度的情况下从文件中读取2D数组?

来自分类Dev

我可以在不知道子类别的情况下列出其子类别吗?

来自分类Dev

如何在不知道其长度的情况下遍历char **

来自分类Dev

在不知道其结构的情况下显示React组件

来自分类Dev

在不知道其命名空间的情况下卸载JavaScript库

来自分类Dev

如何在不知道其确切类型的情况下更新DbContext中的实体?

来自分类Dev

使用jQuery在不知道其完整ID的情况下更改给定元素的属性

Related 相关文章

  1. 1

    如何在不知道原始数组大小的情况下增加动态数组(C ++)的大小?

  2. 2

    在不知道数组大小的情况下输入数组

  3. 3

    在不知道大小的情况下打印数组

  4. 4

    有什么方法可以在不知道大小的情况下制作char数组

  5. 5

    动态分配-用户在运行时不知道数组大小的情况下输入元素

  6. 6

    在不知道其ID的情况下将焦点设置为动态创建的输入字段

  7. 7

    是否可以在不知道其ID的情况下更新FaunaDB文档?

  8. 8

    Linux用户可以在不知道当前密码的情况下更改其密码吗?

  9. 9

    如何在不知道数组大小的情况下复制二维数组

  10. 10

    在不知道字符串大小的情况下动态提示输入字符串

  11. 11

    在不知道其尺寸的情况下切片数组

  12. 12

    我如何在不知道图像ID的情况下更改其属性?

  13. 13

    在不知道大小的情况下寻找图标

  14. 14

    在不知道输入大小的情况下对字符串向量进行排序c ++

  15. 15

    在不知道ID的情况下进行更新

  16. 16

    在不知道ID的情况下进行更新

  17. 17

    我可以在不知道type参数的情况下持有shared_ptr吗?

  18. 18

    在不知道函数代码中其性质的情况下分配数组或整数(但编译器知道)

  19. 19

    如何在不知道其大小且无需多次读取的情况下从文件加载矩阵?

  20. 20

    我可以在不知道其当前值的情况下向数据库中的int添加一些值吗

  21. 21

    我们可以在不知道其真实类型的情况下将基类指针转换为派生类指针吗?

  22. 22

    我可以在不知道其当前值的情况下向数据库中的int添加一些值吗

  23. 23

    如何在不知道其长度的情况下从文件中读取2D数组?

  24. 24

    我可以在不知道子类别的情况下列出其子类别吗?

  25. 25

    如何在不知道其长度的情况下遍历char **

  26. 26

    在不知道其结构的情况下显示React组件

  27. 27

    在不知道其命名空间的情况下卸载JavaScript库

  28. 28

    如何在不知道其确切类型的情况下更新DbContext中的实体?

  29. 29

    使用jQuery在不知道其完整ID的情况下更改给定元素的属性

热门标签

归档