我有以下结构,主要用于处理动态malloc'ed数组:
#include <stddef.h>
#include <stdint.h>
typedef struct {
size_t cap;
size_t len;
uint8_t *data;
} bytearray;
字符串
我想创建一个宏BYTEARRAY_STATIC_CREATE()
在堆栈上创建它。什么应该是最好的方法,使这一点?
我也试过
#define BYTEARRAY_STATIC_CREATE(B, CAP) \
B.len = 0; \
B.cap = (CAP); \
uint8_t __##B[CAP]; \
B.data = __##B
int main()
{
bytearray a;
BYTEARRAY_STATIC_CREATE(a, 32);
}
型
2条答案
按热度按时间tkclm6bt1#
通常我看到复合文字被使用:
字符串
9fkzdhlc2#
你不需要
typedef
和指针:字符串
如果你想malloc也一样。使用 * 灵活的 * 数组成员