int var []和int var [0]有什么区别

jaeyong

在以下两个struct定义中,它们之间有什么区别?

struct A {
    int var[];
};

struct B {
    int var[0];
};

struct C {
    int *var;
};

我认为在使用这些结构的情况下,它们是相同的。它们背后有特殊含义吗?

蚂蚁

A之间的区别B是第二个是非法的。0在标准C中,指定为大小的数组声明始终是无条件的非法。如果编译器接受此声明,则它是编译器的非标准扩展。

同时,中的数组声明A是C99的一项功能,该功能在结构的末尾声明一个灵活的数组成员。

里面的声明C是一个指针声明。AB声明数组成员,C声明指针成员。所以,那是你的不同。

PS如果您的编译器接受的定义B,那么它的确可能与的定义相同A

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

var map=HashMap<Int,String>() 和 var map=HashMap<Int,String>(n) 有什么区别?

`var a chan int`和`a:= make(chan int)`有什么区别?

“ $ var”和$ {var}有什么区别?

var和&(* var)有什么区别

Rust中var和_var有什么区别?

$ {var:-word}和$ {var-word}有什么区别?

`VAR = ...`和`export VAR = ...`有什么区别?

在PowerShell中“ $($ var)”和(“ $ var”)有什么区别

++*var++ 和 ++Var++ 有什么区别?

`${var:-value}` 和 `${var:=value}` 有什么区别?

Swift中的var和弱var有什么区别

(var> x)和(x <var)之间有什么区别?

php 中的 $var 和 ($var) 有什么区别?

echo $var 和 echo "$var" 有什么区别

del [[var]] 和 del var python 有什么区别

$ var [] = array()和$ var = array()有什么区别?

“ var = $ {var:-word}”和“ var = $ {var:= word}”之间有什么区别?

print(var,var) 和 print(var),(var) 有什么区别?

Bash shell中的$ {var},“ $ var”和“ $ {var}”之间有什么区别?

Javascript var = int || 内部?

var和Typescript中的let有什么区别?

python中的numpy var()和statisticsvariant()有什么区别?

/ tmp和/ var / tmp有什么区别?

Scala中的var和val定义有什么区别?

使用“ let”和“ var”有什么区别?

swift中的if var和if if有什么区别?

动态(C#4)和var有什么区别?

R对象中的$和attr(,var)有什么区别?

dmesg输出和/ var / log / messages有什么区别?