动态初始化一维数组详解

/*
        动态初始化一维数组
                1.动态初始化一维数组,会在堆内存中分配这个数组
                并且数组中每一个元素都采用默认值
            
            byte short int long 0
            float double 0.0
            boolean false
            char \u0000
            引用 null
            
            
                2.什么时候动态初始化,什么时候静态初始化
                        1)无论是动态初始化还是静态初始化,最终的内存分布都是一样的
                        2)如果在创建数组的时候,知道数组中应该存储什么数据,采用静态初始化方法
                    如果在创建数组的时候,无法预测到数组中存储什么元素,只实现开辟空间
                    ,则使用动态初始化
*/


public class fuck3{
    
    public static void main(String[] args){
        
        int[] a1=new int[4];
        
        for(int i=0;i<a1.length;i++){
            System.out.println(a1[i]);
        }
        
        //引用类型的数组
        Object [] objs=new Object[3];
        
        for(int index=0;index<objs.length;index++){
            
            Object o=objs[index];
            
            //o.toString();  注意空指针异常,因为引用类型的数组默认值是null
            System.out.println(o);//null null null
        }
        
    }
    
}


举例,动态定义一个int类型的数组
// 下面的语句分配内存
int * pArr = new int[1000];
if (pArr == null)
{
// 内存分配错误
}
// 下面的语句初始化
memset(pArr,0,sizeof(int) * 1000);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章