我正在浏览一些C代码。其中一些有点难以理解。例如,以下分配的作用是什么:
MY_TYPE my_var[3]={0};
MY_TYPE
是一些定点算术类型。我还没有遇到带有[]
括号的变量以及围绕值的{}
赋值。
我觉得这太容易了。那么,定义
有什么好处my_type my_var[3]={0};
对此:
my_type my_var[3];
答案 0 :(得分:4)
这是一个包含3个元素的数组,全部初始化为0。
答案 1 :(得分:4)
它创建一个类型为my_var
的数组MY_TYPE
,其大小为3,并初始化为全0(我怀疑MY_TYPE
是某种整数类型)。请注意,其余的初始化也只需要初始化。
另请注意,如果您全局声明数组而不是块中的数组,那么它将自动初始化,而MY_TYPE my_var[3];
就足够了。
答案 2 :(得分:2)
MY_TYPE my_var[3]={0};
将数组my_var
初始化为:
my_var [0] = 0; my_var [1] = 0; my_var [2] = 0;
答案 3 :(得分:2)
它是3个元素的1维数组,初始化为0.从技术上讲,当你初始化一个数组元素时,所有其他元素都会自动初始化为0.
所以3个元素有3个索引:
my_var[0]=0;
my_var[1]=0;
my_var[2]=0;
My_TYPE
可以是int
,char
或任何其他数据类型。
我希望这有帮助。
答案 4 :(得分:1)
my_var[3]
是MY_TYPE
类型的变量,可以存储三个相同类型的值(并称为 Array )。
大括号{}
在此处用作初始化程序。 my_var[3] = {0}
将其第一个元素初始化为0
。其余元素由self初始化为零。
MY_TYPE my_var[3];
在内存中为MY_TYPE
的数据保留三个空格。鉴于;
MY_TYPE my_var[3] = {0};
将所有这三个空格初始化为0
。
答案 5 :(得分:1)
使用
的优势my_type my_var[3]={0};
在
my_type my_var[3];
是第一个语句初始化数组。如果没有初始化程序,您的数组将包含垃圾值(无论发生在以前的那些内存位置)。