我想在这里做的是用空字符串值""
初始化所有玩家的名字,我听说它可以在C99的声明点完成,但我不完全确定
typedef struct data_players
{ char name[25];
int hp;
int mana;
int id;
}player;
player player_list[10]
在这种情况下,我该怎么办?
答案 0 :(得分:3)
struct data_players
{ char name[25];
} player = "";
或
struct data_players
{ char name[25];
} player = { "" };
这会在声明时初始化结构的第一个成员。如果有更多成员,请用逗号分隔。 还有一件事。您的结构不应在声明时进行类型定义,以进行这种初始化。
如果你有一个结构数组,并且你想在C99中初始化它们,你可以使用"指定的初始化程序"在宣布时间。
player arr [2] = { {.name = ""}, {.name = ""} };
这会将arr[0]
和arr[1]
的名称成员初始化为空字符串。虽然我觉得它没有多大意义,因为它无论如何都默认为空字符串。
答案 1 :(得分:2)
在声明时,您使用<div id="header">
<ul class="menu">
<li><a href="#"><img src="Images/logo.png" alt="logo" height="28" width="117""></a>
</li>
<li><a href="#">The Product</a>
</li>
<li><a href="#">Order Yours</a>
</li>
<li><a href="#">About Us</a>
</li>
<li>
<a href="#">Support </a>
<ul class="dropdown-menu">
<li><a href="#">Read our FAQ</a>
</li>
<li><a href="#">Post a Support Ticket</a>
</li>
<li><a href="#">Orders & Shipping</a>
</li>
</ul>
</li>
<li><a href="#">Get in touch with us</a>
</li>
</ul>
<p></p>
<div style="visibility: hidden;" class="flexslider">
<ul class="slides">
<li>
<img src="Images/background.png" alt="img1" />
</li>
<li>
<img src="Images/background.png" alt="img2" />
</li>
<li>
<img src="Images/background.png" alt="img3" />
</li>
</ul>
</div>
</div>
初始化结构,如下所示:
{}
请注意,任何跳过的初始值设定项都默认为零,因此如果您始终将整个数组初始化为零,这就足够了:
player player_list[10] = {{"", 0, 0, 0},{"", 0, 0, 0},{"", 0, 0, 0},{"", 0, 0, 0},{"", 0, 0, 0},{"", 0, 0, 0},{"", 0, 0, 0},{"", 0, 0, 0},{"", 0, 0, 0},{"", 0, 0, 0}};
另请注意,如果player player_list[10] = {0};
是全局变量或静态变量,它将自动初始化为全零。好像你打电话了
player_list
程序开始时。