相关疑难解决方法(0)

为什么使用数组大小​​1而不是指针?

在一个C++开源项目中,我看到了这一点.

struct SomeClass {
  ...
  size_t data_length;
  char data[1];
  ...
}
Run Code Online (Sandbox Code Playgroud)

这样做有什么好处而不是使用指针?

struct SomeClass {
  ...
  size_t data_length;
  char* data;
  ...
}
Run Code Online (Sandbox Code Playgroud)

我唯一能想到的是使用size 1数组版本,用户不会看到NULL.还有别的事吗?

c c++

46
推荐指数
4
解决办法
1万
查看次数

struct中的一个元素数组

为什么某些struct使用单个元素数组,如下所示:

typedef struct Bitmapset
{
 int nwords;
 uint32 words[1];
} Bitmapset;
Run Code Online (Sandbox Code Playgroud)

为了方便后者的动态分配?

arrays struct element

9
推荐指数
2
解决办法
7061
查看次数

标签 统计

arrays ×1

c ×1

c++ ×1

element ×1

struct ×1