这其实是数组初始化語法和结构初始化语法的混合。
数组初始化是指定义数组的时候,如果愿意,可以给元素赋初值。語法怎么写大家肯定都会。
结构初始化是定义一个结构的时候,可以给结构中的每个成员赋初值,語法的样子和数组的很像。
这个问题就是“定义一个结构数组的时候能初始化吗?”
按照规则推就应该可以,写法就应该是 struct type_t array[n] = { {.., .., .., ..}, {.., .., .., ...}, ... }; 的样子。
我没查,不知道标准是不是明确声明过结构数组可以这样初始化。不过一般的编译器应该支持这种写法。
vc 6.0 对标准支持的差劲是公认的,很多相对复杂一些的語法特征(比如上面说的那两种赋值語法的混合,但我其实觉得这好像不太复杂),它都不支持或者做的和标准要求的有出入。比较明显的是类模版中相对复杂的多的特性。那里的語法和上面那两个比确实混乱得多,vc6.0 对复杂的类模版特性支持好像是很差的。在 vs 的后续版本里,这个现像有明显的改观。
VC 6.0 中如果不行就是说它不支持,通过不了这种声明。认为是 vc 的一个 bug 也可以。
另一个很知名的 bug 好像是 vc6.0 里 string 类的 getline 函数的两次回车 bug。以前论坛里有几个人问过这问题,我当时答过几次了。希望不会再有人问了,后来我又看过一些人问,开始几次我把以前帖子的链接给过去过,不过后来还 偶尔会看到有人问,那个帖子我都找不着了,有时也懒的回答了(不过最近确实没看见有人问过了)。
大家除了利用论坛以外,还应该利用其它的一些网络工具。有时自己动手解决问题比上来问一问学得多。当然,问问题可以让更多人学到东西也是很好的了。不过应 该先自己尝试解决一下,查查资料什么的。有时问题解决了,把资料发上来也可以。要有自己心得的,要原创的,要精炼的!不用花太多时间,别人看完就能学到东 西的,正所谓简约不简单。我觉得心得都是这样的。如果发的东西确实有价值,版主很可能会加精的。
嘿嘿,由于版主置顶了这个帖子,我就囉唆两句~~
数组初始化是指定义数组的时候,如果愿意,可以给元素赋初值。語法怎么写大家肯定都会。
结构初始化是定义一个结构的时候,可以给结构中的每个成员赋初值,語法的样子和数组的很像。
这个问题就是“定义一个结构数组的时候能初始化吗?”
按照规则推就应该可以,写法就应该是 struct type_t array[n] = { {.., .., .., ..}, {.., .., .., ...}, ... }; 的样子。
我没查,不知道标准是不是明确声明过结构数组可以这样初始化。不过一般的编译器应该支持这种写法。
vc 6.0 对标准支持的差劲是公认的,很多相对复杂一些的語法特征(比如上面说的那两种赋值語法的混合,但我其实觉得这好像不太复杂),它都不支持或者做的和标准要求的有出入。比较明显的是类模版中相对复杂的多的特性。那里的語法和上面那两个比确实混乱得多,vc6.0 对复杂的类模版特性支持好像是很差的。在 vs 的后续版本里,这个现像有明显的改观。
VC 6.0 中如果不行就是说它不支持,通过不了这种声明。认为是 vc 的一个 bug 也可以。
另一个很知名的 bug 好像是 vc6.0 里 string 类的 getline 函数的两次回车 bug。以前论坛里有几个人问过这问题,我当时答过几次了。希望不会再有人问了,后来我又看过一些人问,开始几次我把以前帖子的链接给过去过,不过后来还 偶尔会看到有人问,那个帖子我都找不着了,有时也懒的回答了(不过最近确实没看见有人问过了)。
大家除了利用论坛以外,还应该利用其它的一些网络工具。有时自己动手解决问题比上来问一问学得多。当然,问问题可以让更多人学到东西也是很好的了。不过应 该先自己尝试解决一下,查查资料什么的。有时问题解决了,把资料发上来也可以。要有自己心得的,要原创的,要精炼的!不用花太多时间,别人看完就能学到东 西的,正所谓简约不简单。我觉得心得都是这样的。如果发的东西确实有价值,版主很可能会加精的。
嘿嘿,由于版主置顶了这个帖子,我就囉唆两句~~