C语言动态数组(malloc()函数动态分配内存)

    技术2024-03-30  94

    malloc()函数简介

    头文件:<stdlib.h> 或者 <malloc.h>.函数声明: void *malloc( int size );用法: (分配类型 * )malloc( 分配元素个数 * sizeof ( 分配类型 ) )

    1.动态一维数组

    #include<stdio.h> #include<stdlib.h> int main() { int i,N; scanf("%d",&N); int *num; num = (int *)malloc(N * sizeof(int)); for(i = 0 ; i < N ; i++) scanf("%d" , &num[i]); for(i = 0 ; i < N ; i++) printf("%d " , num[i]); printf("\n"); free(num); //用完的数组记得释放掉内存 return 0; }

    2.动态二维数组

    #include<stdio.h> #include<stdlib.h> int main() { int i,j,M,N; scanf("%d %d" ,&M , &N); int **num; num = (int **)malloc(M * sizeof(int *)); for(i = 0 ; i < N ; i++) num[i] = (int *)malloc(N * sizeof(int)); for(i = 0 ; i < M ; i++) for(j = 0 ; j < N ; j++) scanf("%d" , &num[i][j]); for(i = 0 ; i < M ; i++) { for(j = 0 ; j < N ; j++) printf("%d " , num[i][j]); printf("\n"); } for(i = 0 ; i < M ; i++) free(num[i]); //用完的数组记得释放掉内存 return 0; }
    Processed: 0.025, SQL: 9