c和c++动态数组的实现

分类:C&C++    发布时间:2010/3/25 22:33:13

#include<stdio.h>  
#include<malloc.h>  
#include<stdlib.h>  
 
int *ywshuzumalloc(int n)   //一维数组分配  
{  
    int *a;  
    a=(int *)malloc(sizeof(int)*n);  
    return a;  
}  
 
int **ewshuzumalloc(int m,int n)   //二维数组分配  
{  
    int **a;  
    int i;  
    a=(int **)malloc(m*sizeof(int *));  
    for (i=0;i<m;i++)  
        a[i]=(int *)malloc(n*sizeof(int));  
    return a;  
}  
 
int ***swshuzumalloc(int m,int n,int o) //三维数组分配  
{  
    int ***a;  
    int i,j;  
    a=(int ***)malloc(m*sizeof(int **));  
    for(i=0;i<m;i++)  
        a[i]=(int **)malloc(n*sizeof(int *));  
    for(i=0;i<m;i++)  
    {  
        for(j=0;j<n;j++)  
            a[i][j]=(int *)malloc(o*sizeof(int));  
    }  
    return a;  
}  
 
void main()  
{  
    int *a;  
    int **b;  
    int ***c;  
    int i,j,k,m,n,o;  
    int lenght;  
    printf("请输入动态分配一维数组的个数:\n");  
    scanf("%d",&n);  
    a=ywshuzumalloc(n);  
    for(i=0;i<n;i++)  
    {  
        a[i]=i+1;  
        printf("%d ",a[i]);  
    }  
    printf("\n");  
 
    lenght=n;  
    printf("该数组的长度是: %d",lenght);  
    printf("\n");  
 
    printf("请输入动态分配二维数组的个数:\n");  
    scanf("%d %d",&m,&n);  
    b=ewshuzumalloc(m,n);  
    for(i=0;i<m;i++)  
    {  
        for(j=0;j<n;j++)  
        {  
            b[i][j]=(i+1)*10+j+1;  
            printf("%d ",b[i][j]);  
        }  
        printf("\n");  
    }  
    printf("\n");  
    lenght=m*n;  
    printf("该数组的长度是: %d",lenght);  
    printf("\n");  
      
    printf("请输入动态分配三维数组的个数:\n");  
    scanf("%d %d %d",&m,&n,&o);  
    c=swshuzumalloc(m,n,o);  
    for(i=0;i<m;i++)  
    {  
        for(j=0;j<n;j++)  
        {  
            for(k=0;k<o;k++)  
            {  
                c[i][j][k]=(i+1)*100+(j+1)*10+k+1;  
                printf("%d ",c[i][j][k]);  
            }  
            printf("\n");  
        }  
        printf("\n");  
    }  
    printf("\n");  
    lenght=m*n*o;  
    printf("该数组的长度是: %d",lenght);  
    printf("\n");  
 

最新评论

我要发表评论

名称:
电子邮件:
个人主页:
内容:

 博客分类