C语言动态二维数组,结构体动态申请内存空间
生活随笔
收集整理的這篇文章主要介紹了
C语言动态二维数组,结构体动态申请内存空间
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在C語言中,申請一般數組時,數組大小必須是常量。即使是賦了特定值的變量,也不行,比如:int n=3;int a[3];這樣的做法是錯誤的,我們需要動態申請數組內存,如下申請一個動態整數(int)二維數組:
#include<stdio.h> #include<stdlib.h> int **pp(int m,int n) {int i,j,**pa;pa=(int **)malloc(sizeof(int)*m);//m行的存儲空間for(i=0; i<m; i++)pa[i]=(int*)malloc(sizeof(int)*n);//n列的存儲空間for(i=0; i<m; i++)for(j=0; j<n; j++)pa[i][j]=0;return pa;} main() {int m,n,i,j,**haha;printf("請輸入二維數組的行和列:");scanf("%d%d",&m,&n);haha=pp(m,n);for(i=0; i<m; i++){for(j=0; j<n; j++)printf("%d\t",haha[i][j]);printf("\n");}}效果如下圖所示:
總結
以上是生活随笔為你收集整理的C语言动态二维数组,结构体动态申请内存空间的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关闭C#主窗体弹出是否关闭对话框
- 下一篇: Envi IDL中多元线性回归计算方法