Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
理解C语言中的语句_C_Variables_Types_Variable Assignment - Fatal编程技术网

理解C语言中的语句

理解C语言中的语句,c,variables,types,variable-assignment,C,Variables,Types,Variable Assignment,我正在学习一些C代码。其中有些有点难以理解。例如,以下作业的作用是什么: MY_TYPE my_var[3]={0}; MY_TYPE是一种定点算术类型。我还没有遇到过括号中带有[]的变量,以及值周围带有{}的赋值 我想那太容易了。那么,定义的好处是什么 my_type my_var[3]={0}; 在这方面: my_type my_var[3]; 它是一个由3个元素组成的数组,所有元素都初始化为0。它创建了一个数组my\u var,类型为my\u type,大小为3,初始化为所有0(我怀

我正在学习一些C代码。其中有些有点难以理解。例如,以下作业的作用是什么:

MY_TYPE my_var[3]={0};
MY_TYPE
是一种定点算术类型。我还没有遇到过括号中带有
[]
的变量,以及值周围带有
{}
的赋值

我想那太容易了。那么,定义的好处是什么

my_type my_var[3]={0};
在这方面:

my_type my_var[3];

它是一个由3个元素组成的数组,所有元素都初始化为0。

它创建了一个数组
my\u var
,类型为
my\u type
,大小为3,初始化为所有0(我怀疑
my\u type
是某种整数类型)。请注意,只有一个初始化是必要的,其余的也要初始化


还要注意的是,如果全局声明数组而不是在块中声明数组,那么它将自动初始化,这
MY_TYPE MY_var[3]就足够了。

MY_-TYPE MY_-var[3]={0}将数组初始化为:

my_var[0]=0; my_var[1]=0;
my_var[2]=0

它是由3个元素组成的一维数组,初始化为0。从技术上讲,当您初始化数组的一个元素时,所有其他元素都会自动初始化为0

因此,有3个元素和3个索引:

my_var[0]=0;
my_var[1]=0;
my_var[2]=0;
My_TYPE
可以是
int
char
或任何其他数据类型。 我希望这有帮助


阅读更多关于数组的信息:

my_var[3]
是一个类型为
my_type
的变量,可以存储三个相同类型的值(称为数组)。 大括号
{}
在这里用作初始值设定项
my_var[3]={0}
将其第一个元素初始化为
0
。其余元素自行初始化为零

 MY_TYPE  my_var[3]; 
在内存中为
MY\u类型的数据保留三个空格
。鉴于

 MY_TYPE  my_var[3] = {0};
将所有这三个空格初始化为
0

使用

my_type my_var[3]={0};
结束


第一条语句初始化数组。如果没有初始值设定项,您的数组将包含垃圾值(无论以前这些内存位置中发生了什么)。

“如果没有初始值设定项,您的数组将包含垃圾值”-除非它是全局声明的。没有问题,当涉及到什么是默认初始化的,什么不是时,事情会变得有点棘手。我已经删除了我的答案。。。你说的是对的。。。有点细微差别我不知道,谢谢你纠正我。我想这将是一个很好的补充你的答案在这里。。。
my_type my_var[3];