首页 > 编程知识 正文

数组静态初始化的三种形式,字符串数组的初始化

时间:2023-05-05 13:46:24 阅读:60005 作者:463

一、数组声明

#includestdio.hint main () {float candy[365]; //声明编译器中数组元素的数量和类型char code[12];//包含12个char型元素的序列int states[50];//包含50个int类型元素的数组/*数组的编号从0开始,因此candy[0]表示数组中的第一个元素candy[364]表示数组中的第365个元素*/return 0。 (二、数组初始化)关于自动存储类型【数组在函数内部声明,声明时不使用关键字static】必须在使用前初始化。 对于其他存储类的变量和数组,如果在声明时未初始化,编译器会自动将值设置为0 ) ) ) ) ) ) ) ) )。

# include stdio.h # definesize4int main ((/*完全初始化)/intpowers(8)={ 1,2,4,8,16,32,64 }; /*部分初始化*/int some _ data [ size ]={ 12,13 }; //数组大小/*省略方括号中的数字,编译器在数组大小和初始化列表中的条目数*/constintdays[]={31、28、31、30、31}; //对于这样的数组大小,sizeof(days )/sizeof (days [0] )计算更合适的for (inti=0; iSIZE; I ) printf(-d(n ),I,some_data[i]; //部分初始化后,剩馀元素初始化为0 (for ) intI=0; isizeof days/sizeof days[0]; I ) printf(-%d(n ),i 1,days[i]; }返回0; (三、使用启动器

# include stdio.h # define months 12 int main ({ intdays [ months ]={ 31,28,[4]=31,30,31,[1]=29}; /*如果指定赋值为31,作为第四个或第五个元素,则随后的值也初始化为30和31。 days[1]后初始化为29,从而涵盖了前初始化为28 */int i。 for(I=0; iMONTHS; I ) printf(-%d(n ),i 1,days[i]; }返回0; (四、数组赋值

/*数组元素赋值*/# include stdio.h # definesize 5int main ({ inta [ size ]={ 2,3,4,5,6 }; //正确的初始化int b[SIZE]; b=a; /*C不允许将数组作为一个单元分配给另一个数组*/b[SIZE]=a[SIZE]; /*序列下标越界,序列下标在0~SIZE-1范围内*/b [ size ]={ 5、6、8、2 }; /*除初始化外,不允许以大括号列表的形式赋值*/b[0]=1; //正确赋值b[1]=2; printf(%d%d )、b[0]、b[1]; 返回0; (五、指定数组大小

#includestdio.hint main () {float b[0]; //我不允许这样。 序列大小为0浮动c [ 2.5 ]; //否,数组大小为整数的双精度m [ (int ) 2.5]; //好了,强制整数float d[2*3 1]; //floate[sizeof(int )1]; int n; scanf('%d ',n ); int a[n]; 在//C99中,这样的printf('%dn”,sizeof(a ); 返回0; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。