我有以下主要用于处理动态恶意锁定数组的 struct :
#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);
}