1.把数组传参给函数

可以定义一个QVector的一个数组

QVector num(10);

for(int  i =0;i<10;i++)

num [i] = i*i;

fun(num); //直接传参数给fun(函数)

void fun(QVector num)

{

for(int i = 0;i<10;i++)

qDebug()<

}

2.函数返回一个数组

首先在c++中是不允许数组作为函数的返回值的

在我刚开始使用返回数组时,直接返回去一个数组,让一个指针去接收,如下:(错误的写法)

int* mainWindow::data()

{

int  tx[] = {    //要发送的数据数组

0xA2, 0x00, 0x00,

0xA2, 0x00, 0x00,

0xA2, 0x00, 0x00,

0xA2, 0x00, 0x00,

0xA2, 0x00, 0x00,

0xA2, 0x00, 0x00,

0xA2, 0x00, 0x00,

0xA2, 0x00, 0x00,

0xA2, 0x00, 0x00,

0xA2, 0x00, 0x00,

};

return  tx;

}

然后用指针接收

int *p = data();

qDebug()<

发现在运行的时候会出现段错误,发现很多C语言都是这样写的,并没有错。

后来发现c++中是不允许数组作为函数的返回值的

正确的做法是:

#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))

int* mainWindow::data()

{

int tx[] = { //要发送的数据数组

0xA2, 0x00, 0x00,

0xA2, 0x00, 0x00,

0xA2, 0x00, 0x00,

0xA2, 0x00, 0x00,

0xA2, 0x00, 0x00,

0xA2, 0x00, 0x00,

0xA2, 0x00, 0x00,

0xA2, 0x00, 0x00,

0xA2, 0x00, 0x00,

0xA2, 0x00, 0x00,

};

int* temp = new int[ARRAY_SIZE(tx)];

for ( int i =0; i < ARRAY_SIZE(tx); i++)

temp[i] = (int)rx[i];

return temp;

}

int *p = data();

qDebug()<

delete p;

在qt中用c语言数组,在QT函数中返回一个数组/把一个数组传参给函数相关推荐

  1. c 语言 函数返回数组_如何在C ++函数中返回数组

    c 语言 函数返回数组 介绍 (Introduction) In this tutorial, we are going to understand how we can return an arra ...

  2. C函数中返回字符数组

    原文 C函数中返回字符数组,CSDN同步发布. 转载请注明出处,谢谢! 强力推荐-不要错过,万一能帮助到自己呢? 朋友做了一个关于 人工智能的教程,教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小 ...

  3. C语言:定义一个函数max_min,求一组数据的最大值和最小值. 在主函数中输入n和n个数据,调用max_min函数求出最大最小值,然后在主函数中输出这n个数的最大值和最小值。(要求使用指针做)

    [问题描述]定义一个函数max_min,求一组数据的最大值和最小值. 在主函数中输入n和n个数据,调用max_min函数求出最大最小值,然后在主函数中输出这n个数的最大值和最小值.(要求使用指针做) ...

  4. c语言在函数中返回数组,关于C语言函数返回数组的问题

    关于C语言函数返回一个数组 c语言中函数不能直接返回一个数组,但是可以用其他方式实现类似功能,不过需要注意: 1.该数组不能是返回函数的局部变量数组,因为局部变量数组在退出函数后会被释放. 可以是全局 ...

  5. 【C语言指针】 指针+-整数、指针-指针、解引用、指针数组、二级指针、结构体声明、初始化、传参

    目录 一.指针 1.指针是什么 1.1.一个单元1个字节 2.指针和指针类型 2.1.指针类型的意义 ① 解引用 ② + -整数 例:把每个整形里放1 每个字节里放1 总结: 3.野指针 3.1.野指 ...

  6. C 如何在函数中返回一个数组

    int test(int *b) {int source[5]={[1]=2,[3]=4,[4]=-2}; memcpy(b,source,5*sizeof(int));return 0; }int ...

  7. 数组和字符串方法中返回问题

    数组 改变原来数组 arrayObject.push(newelement1,newelement2,....,newelementX)方法可向数组的末尾添加一个或多个元素,并返回新的长度. arra ...

  8. php 字符组成数组,php分割字符串并返回由字符串组成的数组的函数explode()

    实例 把字符串打散为数组:<?php $str = "www.gxlcms.com";print_r (explode(".",$str));?> ...

  9. java get请求 数组,浅谈vue中get请求解决传输数据是数组格式的问题

    qs的stringify接收2个参数,第一个参数是需要序列化的对象,第二个参数是转化格式,一般默认格式是给出明确的索引,如:arr[0]=1&arr[1]=2 //indices是index的 ...

最新文章

  1. 一文贯通python文件读取 1
  2. 前端学习(1164):剩余参数02
  3. python 读取地震道头数据_python地震数据可视化详解
  4. VB中的format格式化函数
  5. 7-9 主从复制常见问题
  6. [转载] 如何用 PyQt5 快速构建一个简单的 GUI 应用
  7. 下载地址url中带有中文是url转换方法
  8. sae nodejs mysql_通过新浪云部署NideShop微信小程序商城(基于Node.js+MySQL+ThinkJS)
  9. 【渝粤教育】电大中专跨境电子商务理论与实务答案作业 题库
  10. mysql-mmm架构深度详解
  11. 生活如此美好 我却如此暴躁
  12. 计算机有哪些知识,电脑基本操作知识有哪些
  13. 移动硬盘在计算机中不显示数据能恢复,移动硬盘在电脑上不显示怎么办?分享常用电脑知识...
  14. 【阵列信号处理】DOA估计算法
  15. 深度学习升级打怪之self attention笔记
  16. day32_安卓基础之activity生命周期_receiver广播接收者
  17. 英语天天秀(2007/06/16) -- 老美口头禅
  18. Docker Macvlan网络实验
  19. Go 并发编程之并发基础
  20. 走进你不了解的对日软件外包

热门文章

  1. oracle data guard闪回,官方文档上的这段关于 DATAGUARD 闪回的解释,如何理解?
  2. 同一套代码,复制出来,变成另外一个项目
  3. QML for Android 加载图片资源的几种方式
  4. 微信人人商城云服务器,微信支付配置
  5. ARM 之五 发展史及各时期内核(ARM1 ~ ARM11 / Cortex)介绍
  6. 设计模式理解:模板方法
  7. Java内存模型、volatile、原子性、可见性、有序性、happens-before原则
  8. deb 安装_本地安装DEB包的3种命令行工具(适合Ubuntu和Deepin )
  9. 数字图像处理基本概念
  10. TCP/IP / SYN 攻击以及解决办法