C-此逗号分隔的声明是什么意思

问题描述 投票:0回答:1

为这个愚蠢的问题表示歉意,但我不知道该如何找到参考。我找到了一些用于TCP服务器的代码,这一行让我感到困惑:

int master_sockfd, client_sockfds[3] = {0}, cli_sockfd, client_games_started[3];

上面的变量均未预先初始化,因此看起来好像在这里声明了。有人可以帮我理解这是什么意思吗?如果我没记错的话,{0}会将int设置为0,但在这种情况下我无法理解。我对如何看待具有两个赋值的两个声明也感到非常困惑。是的,所有内容编译都没有错误/警告。谢谢!

c
1个回答
0
投票
int master_sockfd, client_sockfds[3] = {0}, cli_sockfd, client_games_started[3];

等同于:

int master_sockfd;
int client_sockfds[3] = {0};
int cli_sockfd;
int client_games_started[3];

master_sockfdcli_sockfd是整数client_sockfds是3个整数的数组,所有整数均初始化为零client_games_started是3个整数的数组

© www.soinside.com 2019 - 2024. All rights reserved.