winapi - <winnt.h> 中 ANYSIZE_ARRAY 的用途是什么?

标签 winapi dynamic-arrays

ANYSIZE_ARRAY的目的是什么? ,位于 WinNT.h?

我从 2004 年看到一篇关于它的 MSDN 博客文章,但这对我来说没有意义。

最佳答案

我假设你在谈论 this blog post .

当可变大小(在编译时未知)数组是结构的一部分时,通常使用它:

typedef struct {
    int CommonFlags
    int CountOfThings;
    THING Things[ANYSIZE_ARRAY]; //Things[1];
} THINGSANDFLAGS;

要使用这些结构,您通常首先调用所需的 API 来获取数据的大小,然后分配足够大的内存块,最后再次调用相同的 API 以便它可以填充数据......

关于winapi - <winnt.h> 中 ANYSIZE_ARRAY 的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9195889/

相关文章:

c++ - 如何知道返回地址在栈上的位置c/c++

c - 大型动态数组中未使用的内存会怎样?

c - 如何在 C 中用字符串填充动态数组

c++ - Windows 主页 - SHGet(已知)文件夹路径

c++ - 从串口读取 C++

c++ - 如何保持 Windows ListView 控件和它们映射到的对象同步?

c - 尝试释放 2D 动态分配数组时程序崩溃

c - 为数组分配的内存上的 free() 问题

Javascript 关联数组返回空/未定义,尽管已填充在函数内部

c++ - 在 Windows 7 中读取注册表行为异常