realkate1

导航

new 动态分配数组空间

 (一)定义一个整数
      
        int *p =new int;
        int *p =new int(4); //赋初值4 

  (二)定义一个一维数组
         
         int *p =new int[SIZE];
         P 指向的为数组的首地址,数组是以int类型为基本单元的,p作为数组名使用

  (三)定义一个二维数组 

      int(*p)[Column]=new int [SIZE][Column]
       
      首先定义一个指针(*p)[Column], 它表示指针是以大小为 Column个int类型 空间为基本单元的, 后面的new int[SIZE]...表示开辟一个SIZE个这样大小的空间




       上图 第一个指针表示的是前两种情况下的指针单元
            第二个指针表示的是二维数组情况下的指针单元,由此可见,二维数组时,指针是以Column 个int大小的空间为一个基本单元的
      
          p[0][0] 表示的是第0个这样的基本单元中的第0个元素的值
          p[1][0] 表示的是第1个这样的基本单元中的第0个元素的值

         因此,声明一个二维数组指针
         
         int (*p)[Column];// p指向[Column]结构,而[Column]结构是以int类型为基准单元的


        同理, 三维数组可同样定义如下:
        
        int (*p)[Column_1][Column_2]=new int [SIZE][Column_1][Column_2]

         
     
        参考资料:http://www.fish888.com/c-new-t171704
  

posted on 2015-09-18 16:31  realkate1  阅读(1221)  评论(0编辑  收藏  举报