是否可以打印结构名称?
假设我有一个结构:
typedef struct someName{
uint16_t value;
uint16_t field;
} someName_t;
someName_t test;
printf("%" PRIu16 "\n", test;
printf("%" PRIu16 "\n", test.value);
打印test.value就可以了。打印测试给了我警告.. 这是打印结构名称的正确方法吗?在 C 中是否可能?
首先,PRIu16 是我在 stackoverflow 上找到的,这是打印 uint16_t 的正确方法..
我想打印名称 someName_t。
最佳答案
您可以尝试这样的操作(它将打印 test = 0
):
#define DUMP(varname) fprintf(stderr, "%s = %x", #varname, varname);
typedef struct someName
{
int value;
int field;
} someName_t;
someName_t test;
// pseudocode
int main()
{
DUMP(test);
}
关于c - 在 C 中打印结构体的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23780942/