C++ 怎么取整形数组的长度

2023-05-16

本文主要讨论两个小点,怎样获取主函数中整形数组的长度;自定义函数输入参数为整型数组,怎么得到该数组长度。

【正文】

很早就知道C++ 中,因为栈的回收机制,函数的返回值不可以是数组。

但是,能不能输入参数包含数组呢?
答案是肯定的,以指针形式传入即可。

那么,问题再进一步,如果我想在函数中对数组进行遍历,可不可以呢?
答案还是肯定的。

函数中接收数组的是一个数组指针,也就是把数组的函数名传进去,数组的地址被函数接受,那我们怎么知道数组的长度呢?
答案还是肯定的,我们可以用strlen函数啊。

但是,再进一步,如果是整形数组呢?
这个似乎就不那么简单了。

在主函数中,数组在内存中开辟了一段内存空间,用于存贮数组变量。如果是字符数组变量很容易理解,strlen和 sizof/sizeof(char)函数都可以应付。如果是字符指针,strlen也能够处理。针对整形数组,sizeof/sizeof(int) 是最快的方式。

自定义函数中,整型数组是没有办法找到数组长度的,因为,作为指针,指向整型数组,这里是判断不出指向对象实际长度的。

所以,现提出以下两个办法

1.传入数组长度,将数组长度作为输入参数导入到自定义函数中去;

2.声明全局变量,保证使用之前正确复制即可。
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 怎么取整形数组的长度 的相关文章

  • C++中 二重指针详解

    前言 上篇博文讲到数组和指针的一些关系 xff0c 本篇博文会在这基础之上讲解一些更为复杂的指针 xff0c 这些指针在笔试题中经常出现 xff0c 对刚毕业找工作的大学生有很大的作用 指向指针的指针 在指针篇 xff08 1 xff09
  • C++中数组初始化方法

    定义 xff1a int pia 61 new int 10 array of 10 uninitialized ints 此 new 表达式分配了一个含有 10 个 int 型元素的数组 xff0c 并返回指向该数组第一个元素的指针 xf
  • 类对象的内存和堆空间的内存及初始化详解

    对象的内存 对象的内存可以存在于 3 种地方 xff1a 全局区 xff08 数据段 xff09 xff1a 全局变量栈空间 xff1a 函数里面的局部变量堆空间 xff1a 动态申请内存 xff08 malloc new等 xff09 文
  • C++内存空间管理

    1 C 43 43 内存机制 1 栈 Stack xff0c 函数中的局部变量 xff0c 由编译器负责分配释放 xff0c 函数结束 xff0c 变量释放 2 堆 Heap xff0c 通过new 申请的内存 xff0c 由delete或
  • Qt中跨线程下信号和槽的使用方法

    connect用于连接qt的信号和槽 xff0c 在qt编程过程中不可或缺 它其实有第五个参数 xff0c 只是一般使用默认值 xff0c 在满足某些特殊需求的时候可能需要手动设置 Qt AutoConnection xff1a 默认值 x
  • Qt 中开启线程的多种方式小结

    简介1 继承 QThread 重写 run 函数2 继承 QObject 调用 moveToThread3 继承 QRunnable 重新 run 函数 xff0c 结合 QThreadPool 实现线程池4 使用 C 43 43 11 中
  • Qt中exec函数的作用

    Qt中的exec 方法到处可见 xff0c 例如 xff1a QCoreApplicaton exec QApplication exec QDialog exec QThread exec QMenu exec 那么 xff0c 这些ex
  • 在Qt中使用全局变量的两种方式,及出现无法解析的命令的问题

    很多小伙伴在Qt编程时 xff0c 不会使用全局变量 xff0c 其实基本有两种方式来定义使用全局变量 xff0c 第一种是根据c c 43 43 的extern来进行多文件的使用 xff0c 第二种方法就是把全局变量放在类中 xff0c
  • Qt中信号槽形参值传递,引用传递,指针传递的实例及总结

    在同一个线程中 当信号和槽都在同一个线程中时 xff0c 值传递参数和引用传递参数有区别 xff1a 值传递会复制对象 xff1b xff08 测试时 xff0c 打印传递前后的地址不同 xff09 引用传递不会复制对象 xff1b xff
  • vnc远程连接,5个步骤教你如何轻松实现vnc远程连接

    当我们在进行vnc远程连接时 xff0c 往往找不到有用的工具来支撑我们的工作 那当我们在进行vnc远程连接时 xff0c 有什么工具能让我们快速实现vnc远程连接呢 xff1f iis7服务器管理工具 如图 xff1a IIS7服务器管理
  • 关于qt信号槽传指针与释放指针

    今天 xff0c 意外发现qt中信号槽传指针的方式进行时 xff0c 会发生释放不掉指针所分配的空间的情况 定义一个信号 void emit showTime Data 槽 void slot showTime Data 在发出信号之前动态
  • Qt-信号和槽函数传递自定义参数前需注册自定义数据类型

    Qt 信号和槽函数参数只能是基于 Qt 的基础类型的 xff0c 比如 QString int bool 等 xff0c 如果想传递自定义类型默认情况下是行不通的 要想在 Qt 的信号和槽函数之间传递自定义类型 xff0c 可以先将自己的自
  • Qt 设置窗口背景图片的几种方法实例

    1 在paintEvent事件中绘制图片 void Widget paintEvent QPaintEvent ev QPainter painter this painter drawPixmap rect QPixmap 34 bg j
  • Qt事件处理的几种方式

    Qt提供了5种事件处理和事件过滤的方法 xff1a 1 重写事件处理器函数 这是大部分情况最常用的一种 xff0c 如重写 paintEvent mousePressEvent keyPressEvent 等事件处理器虚函数 2 重写 QO
  • QT中添加图片资源的方法

    1 在ui设计界面中添加label xff0c 用于显示图片 2 添加QT资源文件 往项目中添加新文件 xff0c 选择QT分类中的资源文件 xff0c 名称为 34 myImage 34 其他选项默认 3 添加资源 在项目目录下新建文件夹
  • Q_OBJECT的作用

    只有继承了QObject类的类 xff0c 才具有信号槽的能力 所以 xff0c 为了使用信号槽 xff0c 必须继承QObject 凡是QObject类 xff08 不管是直接子类还是间接子类 xff09 xff0c 都应该在第一行代码写
  • Qt编写自定义控件及插件的使用

    在使用Qt Designer设计窗体界面时 xff0c 我们可以使用Widget Box里的窗体控件非常方便的绘制界面 xff0c 比如拖进去一个按钮 xff0c 一个文本编辑器等 虽然Qt Designer里的控件可以满足我们大部分的需求
  • QT中窗口去掉最大化最小化关闭按钮及菜单的方法

    在QT界面开发过程中 xff0c 有的时候需要隐藏最大化最小化甚至是关闭按钮 xff0c 以排除用户的操作系统无定义 xff0c 让程序流向混乱现总结如下 xff1a 1 Qt的QDialog去掉最大化和最小化以及关闭按钮 xff1a 在构
  • Qt创建右键菜单的方法

    函数 所有派生自QWidget的控件 xff0c 若实现在其上右键单击弹出菜单 xff0c 需要设置该控件的上下文菜单策略函数为setContextMenuPolicy Qt CustomContextMenu xff0c 设置该策略后当用

随机推荐