理解C语句

时间:2013-06-25 13:33:40

标签: 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];

6 个答案:

答案 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可以是intchar或任何其他数据类型。 我希望这有帮助。

在此处阅读更多数组:http://www.cplusplus.com/doc/tutorial/arrays/

答案 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];

是第一个语句初始化数组。如果没有初始化程序,您的数组将包含垃圾值(无论发生在以前的那些内存位置)。