美文网首页
C语言动态数组

C语言动态数组

作者: 瓜尔佳Anthony | 来源:发表于2019-03-06 15:18 被阅读0次

一维动态数组

#include<stdio.h>
#include<stdlib.h>
int main(){
    int n,i;
    int *arr = NULL;
    printf("请输入所要创建的一维动态数组的长度:");
    scanf("%d",&n);
    if((arr=(int *)malloc(n*sizeof(int)))==NULL) {
        printf("分配内存空间失败,程序退出!");
        return 0;
    }
    for(i=0;i<n;i++){  /*向申请成功的数组中赋值*/
        arr[i]=i+1;
        printf("%d\t",arr[i]);
        if(0==(i+1)%4)
            printf("\n");  /*一行打印四个元素*/
    }
    if(arr != NULL){
        free(arr);  /*切记!使用完后记得要释放所申请的空间*/
    }
    return 0;
 }

二维动态数组

#include<stdio.h>
#include<stdlib.h>
int main(){
    int n1,n2,i,j;
    int **arr = NULL;
    printf("请输入所要创建的动态数组的第一维长度:");
    scanf("%d",&n1);
    printf("请输入所要创建的动态数组的第二维长度:");
    scanf("%d",&n2);
    if((arr=(int **)malloc(n1*sizeof(int *)))==NULL){  /*第一维的创建*/
        printf("分配内存空间失败,程序退出!");
        return 0;
    }
    for(i=0;i<n1;i++){  /*创建第二维*/
        if((arr[i]=(int *)malloc(n2*sizeof(int)))==NULL){
            printf("分配内存空间失败,程序退出!");
            return 0;
        }
    }
    for(i=0;i<n1;i++){
        for(j=0;j<n2;j++){
            arr[i][j]=i*n2+j+1;  /*为申请成功的数组中赋值*/
            printf("%d\t",arr[i][j]);
        }
        printf("\n");
    }
    for(i=0;i<n1;i++){
        free(arr[i]);  /*先释放第二维*/
    }
    free(arr);  /*最后释放第一维*/
    return 0;
}

相关文章

  • C语言动态数组

    一维动态数组 二维动态数组

  • ArrayList源码分析

    ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。...

  • ArrayList解析

    ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。...

  • 02、ArrayList源码分析

    ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。...

  • java基础—浅析ArrayList源码

    ArrayList简介 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态...

  • ArrayList源码解析

    ArrayList简介 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态...

  • C、C++之动态数组的实现

    C、C++之动态数组的实现 本篇博客基于笔者本人正在学习的C++上机课程作业,主要代码由C语言构成。由于C语言没有...

  • C语言,变长数组不是动态数组

    查余补漏: 在前几次的讲解中,有朋友提出C语言的内存分配只是malloc和free,然后还有在缓存章节的有朋友提出...

  • C实现的vector动态数组

    动态数组vector是日常业务代码最常用的数据结构,大多数高级语言都提供了动态数组的实现, 如c++中的std::...

  • C语言数组的升维与降维之说

    C语言数组的升维与降维之说 C语言数组的升维 C语言数组的降维

网友评论

      本文标题:C语言动态数组

      本文链接:https://www.haomeiwen.com/subject/xnatpqtx.html