关于如何在C中初始化结构是否有建议的方法?例如:
Book romeo = {"Romeo & Juliet", "Shakespeare", 1600};
Book inferno;
inferno.title = "Divine Comedy";
inferno.author = "Dante";
inferno.year = 1400;
一种方法优于另一种方法吗?我认为出于可读性考虑,第二个要容易一些,但是如果有很多字段,可能会变得很笨拙。此外,有什么方法可以在第一种方法中指定变量名称,例如:
Book romeo = {title="...", author="...", year="...");
一种方法优于另一种方法吗?
注意:C将第一个定义为初始化,将第二个定义为赋值。
是的,可以初始化全局对象,但不能为其分配全局代码。
// Possible
Book romeo = {"Romeo & Juliet", "Shakespeare", 1600};
Book inferno;
// Not possible outside a function.
inferno.title = "Divine Comedy";
inferno.author = "Dante";
inferno.year = 1400;
有没有办法在第一个方法中指定变量名
从C99开始,可以以任何顺序(完整或不完整)指定成员。
Book romeo = {. title = "Romeo & Juliet", .author = "Shakespeare", .year = 1600};
Book romeo = {.year = 1600, . title = "Romeo & Juliet", .author = "Shakespeare" };
Book romeo = {. title = "Romeo & Juliet", .author = "Shakespeare" }; // .year takes on value 0
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句