动态创建数组

来源:互联网 发布:网络弱点 编辑:程序博客网 时间:2024/05/01 05:47

一般的可以用malloc或new   :  
  一维数组  
                            int   arr1[100];  
  可以这样实现  
                            int   n   =   100;  
                            int   *arr1   =   (int*)malloc(sizeof(int)   *   n);  
  二维数组  
                            int   arr2[50][100]  
  可以这样实现  
                            int   m   =   50;  
          int   (*arr2)[100]   =   (int   (*)[100])malloc(sizeof(int[100])*m);  
  或者                            
          typedef   int   INT_ARR[100];  
                            int   m   =   50;  
          INT_ARR   *arr2   =   (INT_ARR   *)malloc(sizeof(INT_ARR)*m);  
   
  使用跟真正的数组一样,如  
   
  for(int   i=0;i<10;i++)  
  for(int   j=0;j<100;j++)  
  arr2[i][j]   =   i*100   +   j;   
   

 

1D:  
  int   *arr;//可以是其他类型  
  arr=new   int[n];  
  2D:  
  int   **arr;    
  int   N,M;    
  cin   >>   N   >>   M;    
   
  arr   =   new   int*[N];    
  for(int   i=0;i<N;i++)   {   arr[i]   =   new   int[M];   }  

原创粉丝点击