码迷,mamicode.com
首页 > 编程语言 > 详细

c 有意思的数组初始化

时间:2015-09-04 14:02:58      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

c 有意思的数组初始化

  1. #include <stdio.h>
  2. int main()
  3. {
  4.     int i = 0;
  5.     char a[1024];
  6.     char a0[10] = {};
  7.     char a1[10] = {1};
  8.     char a2[10] = {1,};
  9.     char a3[10] = {1,1};
  10.     for(i=0; i< 1024; i++){
  11.         printf("%u",a[i]);
  12.         a[i] = (i*i)%11;
  13.     }
  14.     printf("\n------\n");
  15.     for(i=0; i< 10; i++){
  16.         printf("%u | %u | %u %u\n", a0[i], a1[i],a2[i], a3[i]);
  17.     }
  18.     printf("\n");
  19. }

结果

  1. 0000000042949672804
  2. ------
  3. 0 | 1 | 1 1
  4. 0 | 0 | 0 1
  5. 0 | 0 | 0 0
  6. 0 | 0 | 0 0
  7. 0 | 0 | 0 0
  8. 0 | 0 | 0 0
  9. 0 | 0 | 0 0
  10. 0 | 0 | 0 0
  11. 0 | 0 | 0 0
  12. 0 | 0 | 0 0

运行第一次和这个可能不一样,从第二次以后就一样了。

1 ,a[10]; 只是做个标号,并不分配内存,到a[0]=(1*1)%11时分配内存,只不过是在栈的数据段找个地址赋给a,不做初始化;
2,a?,都做了初始化0,并且在a123都对指定的位置赋了给定的值。
3,亮点是a0={}的写法,我第一次尝试到,估计这根编译器有关。

c 有意思的数组初始化

标签:

原文地址:http://www.cnblogs.com/timdes/p/4781167.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!