• 使用指针传递数组,修改数组中内容


    大三开始一直写java,现在重新写c和c++,连基本的数组、指针也玩不转了,也侧面说明了大一的时候就没有打下坚实的基础。
    亡羊补牢,为时未晚,

    场景:在调用某个函数时,我需要获取到这个函数中的一张图片和一个数组(内容长度什么的都不知道),图片通过return作为结果返回,这个数组希望通过一个指针获取。

    分析:
    思路(目前采用的办法):
    1.定义一个数组,一个指针,指针指向数组
    2.传递这个指针,作为参数传到函数中
    3.函数中将数组内容赋值到这个指针对应位置上*(p+i)和p[i]都可以访问对应位置
    优势:思路简单,实现方便
    劣势:不知道数组开多大,开大了浪费,开小了出错;即使获取到更新过的数组后,也无法知道哪些数据是有效的
    解决方案:再传一个指针用来存储长度

    优化:
    1.在函数中,动态的创建数组大小,这样可以节省空间,同时创建完成之后需要释放内存,防止内存泄漏
    2.在数组的第一位置存放数组的长度大小
    image

    image

    image

  • 相关阅读:
    PlantUML —— 应用于 Eclipse 的简单快速的 UML 编辑软件
    PlantUML类图
    Java 基于log4j的日志工具类
    RabbitMQ Hello world(二)
    redis lua 初体验
    mysql 批处理 innodb_flush_at_trx_commit 测试分析
    mysql 服务日志 5.7.29
    redis 浅谈事务
    redis list 基本操作
    redis hash 基本操作
  • 原文地址:https://www.cnblogs.com/wjune-0405/p/15382898.html
Copyright © 2020-2023  润新知