gpt4 book ai didi

c - "complex float"和 "float complex"都是有效的 C 吗?

转载 作者:太空狗 更新时间:2023-10-29 17:01:25 27 4
gpt4 key购买 nike

我的问题很简单:

Are both "complex float" and "float complex" valid C?

两者似乎都被 gcc 接受而没有警告。

最佳答案

complex 是 complex.h 中的一个宏,它扩展为类型说明符 _Complex。这与所有其他类型说明符一样,例如 int, bool, double。对于属于同一“组”的所有类型说明符,您可以按不同的顺序组合它们。这是由 C11 6.7.2 指定的,强调我的:

At least one type specifier shall be given in the declaration specifiers in each declaration, and in the specifier-qualifier list in each struct declaration and type name. Each list of type specifiers shall be one of the following multisets (delimited by commas, when there is more than one multiset per item); the type specifiers may occur in any order, possibly intermixed with the other declaration specifiers.

然后是有效的类型说明符组列表,我们在其中找到

  • float _Complex
  • double _Complex

这意味着同一组中的说明符的任何排列都可以。


再举个例子,有一个群

  • unsigned long long, or unsigned long long int

这给了我们以下可能的组合:

unsigned long long x;
long unsigned long y;
long long unsigned z;

unsigned long long int a;
unsigned long int long b;
unsigned int long long c;
int unsigned long long d;
long unsigned long int e;
long long unsigned int f;
long long int unsigned g;
long unsigned int long h;
...

这些都是同一个意思。

关于c - "complex float"和 "float complex"都是有效的 C 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41679086/

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