前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >动态数组是啥

动态数组是啥

作者头像
全栈程序员站长
发布2022-11-16 18:05:42
6250
发布2022-11-16 18:05:42
举报
文章被收录于专栏:全栈程序员必看

动态数组是什么?

当小白抱着这个问题去问大佬的时候,80%的回答就是:动态数组就是可以变化长度的数组,就这么简单,没啥难度。

于是小白心中就容易产生一个概念,动态数组就是长度可以变化的数组,长度可以任意变,那什么时候变、怎么变,,,额 不想了,刚问完说懂了的,再问也不合适,下次代码碰到再说吧。。。

70%你会忘记这个问题,25%你会使用增加删除操作更灵活的集合(ArrayList),5%的可能你会再去问动态数组的概念,掌握住它。所以,干脆在第一次查的时候就搞明白这些问题:

1.什么是动态数组

2.动态数组怎么定义

3.动态数组怎么变化的

4.举个例子让我看看数组和动态数组的区别

那么我们一个一个来看一下:

1.什么是动态数组

动态数组是指在声明时没有确定数组大小的数组,即忽略圆括号中的x下标;当要用它时,可随时用ReDim语句重新指出数组的大小。使用动态数组的优点是可以根据用户需要,有效利用存储空间。

2.创建动态数组 && 3.动态数组怎么变化的

代码语言:javascript
复制
int main(){
    int arrLen;  // 数组长度
    int *array;  // 数组指针
    int i;  // 数组下标
    printf("输入数组长度:");
    scanf("%d", &arrLen);
    
    // 动态分配内存空间,如果失败就退出程序
    array = (int*)malloc( arrLen*sizeof(int) );
    if(!array){
        printf("创建数组失败!\n");
        exit(1); 
    }
    // 向内存中写入数据
    for(i=0; i<arrLen; i++){
        array[i] = i+1;
    }
    
    // 循环输出数组元素
    for(i=0; i<arrLen; i++){
        printf("%d  ", array[i]);
    }
    
    printf("\n");
    free(array); 
    
    system("pause");
    return 0;
}

Jetbrains全家桶1年46,售后保障稳定

4.举个栗子

一个最简单最简单的小程序,输入几个数,程序找出其中的最大值返回给用户。

理一下思路,将输入的数字存入一个数组,循环遍历数组,比较选出最大值max,循环结束后返回max值,但现在的问题是数组建多大合适?用户要输入多少个数,不知道,定义个10?万一输入11个呢,那定义个99999肯定够了吧,够是够了 但是要浪费多大空间?

那么我们怎么建数组呢,动态数组:·

代码语言:javascript
复制
int m;
int *array=new int [m];

用户输入多少个,我建多大。

以上

太阳尚远 但必有太阳

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/234559.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年11月2日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档