【发布时间】:2017-06-08 15:40:32
【问题描述】:
我遇到了一个只有一个元素的数组。该数组在结构内部定义。是这样的:
typedef struct abc
{
int variable1;
char variable2;
float array[1];
};
我不明白为什么需要这个数组,为什么我们不能只定义一个变量或定义一个指针(考虑数组属性)。
我想使用它。我如何使用这个变量? abc.array[0] 似乎是正确的。是不是。
添加我没有使用任何动态内存分配,那么它的意义是什么?
【问题讨论】:
-
在 C99 中最好使用 flexible array member。在旧的 C 标准中,经常使用一维数组。
-
@GovindParmar 谢谢。你能告诉我如何使用它。我没有做任何动态内存分配
-
@GovindParmar 链接的答案包含一个如何为此类结构调用
malloc的示例。