这两个语句的作用是相同的:
int x = 5;
int x = {5};
当我尝试时,这也是正确的:
char str[] = "hello";
char str[] = {"hello"};
使用花括号初始化变量在编程语言中是如何定义的?
这两个语句的作用是相同的:
int x = 5;
int x = {5};
当我尝试时,这也是正确的:
char str[] = "hello";
char str[] = {"hello"};
使用花括号初始化变量在编程语言中是如何定义的?
char str[]
不是一个标量,而是一个聚合体。但实际上,字符数组有一个特殊的初始化规则。这只回答了问题的第一部分,而没有回答第二部分。 - Lundinchar *p = {"abc"}
和 char p[] = {"abc"}
搞混了。 - Simon Doppler
auto z2 = {99};
,否则我在那个答案中没有看到上面提到的内容。可能是因为我的 C 大脑生锈了(而且确实非常生锈)。 - T.J. Crowderstr []
不是标量而是一个聚合体。这个问题更加直接,所以我们可能在这里得到更好的答案(然后也许关闭你链接的那个)。投票重新打开。 - Lundin