黑马程序员技术交流社区

标题: 一维数组让人疑惑的问题 [打印本页]

作者: 勇猛的小黑    时间: 2015-11-12 22:10
标题: 一维数组让人疑惑的问题
①如果数组都没有初始化,到底有没有值?
        答:有值,全是不确定的垃圾值,
        ②如果数组进行的部分初始化。
                int a[10] = {1};//未初始化部分自动初始化为0
                int b[10] = {2.3f};//未初始化部分自动初始化为0
                char ch[10] = {'a','b','c'}//未初始化部分元素的ASCII码被自动初始化为0了。
                那么没有初始化的那部分的元素也自动被系统初始化为0
               
        特别强调:使用先定义后初始化的方式,系统就不会自动给没有初始化的元素赋0了。
       
        强调:数组名 代表数组的首地址。eg: printf("%p",a);这里的a不用加地址获取符号&
           但是数组中某一个值得地址就要加地址获取符号&  eg: printf("%p",a[0]);
          
          
        数组里边各个值得地址是连续的。
       
        知道数组的首地址,怎么计算数组第n个元素的地址。
        公式   
                int a[];
        第n个元素的地址 = 首地址+sizeof(int)*n


作者: cc_2436    时间: 2015-11-12 22:44
顶顶顶顶啊!
作者: 心存猛虎2015    时间: 2015-11-12 22:53
可以  不错
作者: 陈光慧    时间: 2015-11-12 23:29
顶,学习了啊。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2