C語言 動態創建二維數組


/*C語言 如何動態創建二維數組
轉化為一維數組申請數組,創建和釋放都比較簡單
*/
#include <stdlib.h> 
#include <stdio.h>
#include <malloc.h> 

#define RANK  10
#define COLUMN 7
int main() 
{ 
    int i,j; 
    
    int (*p)[COLUMN]; 
    
    //動態生成二維數組,指定列數為COLUMN,如果想改,自己該里面 
    //的參數,如果想定義n行2列就為: p=(int (*)[2])malloc(n*2*sizeof(int)); 
    p=(int (*)[COLUMN])malloc(RANK*COLUMN*sizeof(int)); //動態申請n行COLUMN列的二維數組
    
    for(i=0;i<RANK;i++) 
    for(j=0;j<COLUMN;j++) 
    p[i][j]=i*j; 
    
    for(i=0;i<RANK;i++) 
    { 
    for(j=0;j<COLUMN;j++) 
    printf("%d,",p[i][j]); 
    
    printf("\n"); 
    } 
    free(p); 
    
    system("pause");
    return 0; 
}

當然,還有第二種方法,這里就不測試了,只是為了工程實用性,哈哈


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM