gpt4 book ai didi

c - 结构名称作为 sizeof 的操作数

转载 作者:太空宇宙 更新时间:2023-11-03 23:21:01 25 4
gpt4 key购买 nike

当你定义如下结构时

typedef struct num {
int a;
int b;
} A;

那么 sizeof(A) 是有效的,但 sizeof(num) 不是。谁能解释一下 sizeof 运算符不接受 num 的原因?

最佳答案

因为 num 本身不构成 C 中的类型(只有 struct num 或其 typedef A 构成类型)。因此,sizeof 失败,因为它的操作数不是为其定义的任何一种形式:

sizeof unary-expression
sizeof ( type-name )

num 既不是类型 也不是一元表达式

因此,sizeof(struct num)sizeof(A) 可以,但 sizeof(num) 不行。

关于c - 结构名称作为 sizeof 的操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39788896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com