List item

下文主函数调用receive函数得到receive函数内的a数组,并打印输出:
:-------------------------------------------------------------------------------------------------------
C 语言不允许返回一个完整的数组作为函数的参数。但是,您可以通过指定不带索引的数组名来返回一个指向数组的指针。
如果您想要从函数返回一个一维数组,您必须声明一个返回指针的函数,如下:
int *myFunction(void)
{
.
.
}
另外,C 不支持在函数外返回局部变量的地址,除非定义局部变量为 static 变量。
所以我们将数组a定义为static类型
:--------------------------------------------------------------------------------------------------------
我们使用3种方式打印接收到的数组
方法1:
定义一个指针变量指向一个一维数组的首元素,利用该指针变量就可以访问数组中的任何一个元素
方法2:
定义一个指针变量指向一个一维数组的首元素,利用%s函数输出数组
方法3:
利用sprintf函数把数组输出到已经定义的另一个数组,再利用puts()输出
: ---------------------------------------------------------------------------------------------------------
代码:

#include <stdio.h>
#include <string.h>/*
C 语言不允许返回一个完整的数组作为函数的参数。但是,您可以通过指定不带索引的数组名来返回一个指向数组的指针。
如果您想要从函数返回一个一维数组,您必须声明一个返回指针的函数,如下:
int *myFunction(void)
{
.
.
}
另外,C 不支持在函数外返回局部变量的地址,除非定义局部变量为 static 变量。
所以我们将数组a定义为static类型
**/unsigned char *receive(){static unsigned char a[10]={'1','2','3','4','5','6','7','8','9'};return a;}/*
我们使用3种方式打印接收到的数组方法1:定义一个指针变量指向一个一维数组的首元素,利用该指针变量就可以访问数组中的任何一个元素方法2:定义一个指针变量指向一个一维数组的首元素,利用%s函数输出数组方法3:利用sprintf函数把数组输出到已经定义的另一个数组,再利用puts()输出**/
int main(void)
{unsigned char *p;unsigned char m[10];p = receive();//方法1:putchar(*p);//方法2:printf("\np =  %s\n",p);//方法3sprintf(m,"%s",p);puts(m);return 0;
}

c语言子函数返回数组,main函数3种方法打印输出相关推荐

  1. 函数返回数组指针的几种方法

    最直接的方法是用类型名: typedef int arr[10]; // arr是一个类型名,表示含有10个int的数组 using arr = int[10]; // 与上等价声明arr* fun( ...

  2. C++中函数返回数组指针的几种方法总结

    因为数组不能被拷贝,所以函数不能返回数组.不过,函数可以返回数组的指针或引用.返回数组指针的方法有以下几种:     1.方法一:使用类型别名.如下         typedef int arrt[ ...

  3. Linux-C基础知识学习:C语言作业-将5个学生成绩保存在一个数组中,单独实现一个计算平均成绩的average函数, 在main函数中获取该函数返回的平均值,并打印。

    Linux基础知识学习 C语言作业:将5个学生成绩保存在一个数组中,单独实现一个计算平均成绩的average函数, 在main函数中获取该函数返回的平均值,并打印. #include <stdi ...

  4. matlab二重指针,VC++中函数返回数组指针或者带指针的结构体的编译方式是否可取? - 程序语言 - 小木虫 - 学术 科研 互动社区...

    libralibra 构造函数+析构函数应该是比较正规的做法吧, 你的结构体/类被提早释放的问题,是不是那个结构体是局部变量,当超出作用域时对象被销毁,如果存在析构函数,会被默认调用, 如果你返回结构 ...

  5. 关于C语言函数返回数组的问题【转】

    (转自:https://blog.csdn.net/earbao/article/details/53401800) 关于C语言函数返回一个数组 c语言中函数不能直接返回一个数组,但是可以用其他方式实 ...

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

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

  7. c语言中自定义函数返回数组,C语言自定义函数返回数组的方法(图文详解)

    C语言自定义函数返回数组的方法(图文详解) 最近看到一些同学问题,有提到说:如何在一个函数中返回数组呢? 能否直接在自定义 函数中,写成char *类型返回值,直接返回呢?,代码如下: 直接返回str ...

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

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

  9. c语言怎么返回数组,c++从函数返回数组的方法代码

    c++如何从函数返回数组? C++ 从函数返回数组 C++ 不允许返回一个完整的数组作为函数的参数.但是,您可以通过指定不带索引的数组名来返回一个指向数组的指针. 如果您想要从函数返回一个一维数组,您 ...

  10. 【转】C 从函数返回数组

    http://www.runoob.com/cprogramming/c-return-arrays-from-function.html C 从函数返回数组 C 数组 C 语言不允许返回一个完整的数 ...

最新文章

  1. 微信小程序记账应用实例课程(完结)——对接服务端账目CRUD
  2. python文件对象提供了3个读方法、分别是-Python读写文件模式和文件对象方法实例详解...
  3. 麒麟810怎么样_华为麒麟810这个跑分,让我意外
  4. clockdiff-检测两台linux主机的时间差
  5. win2003+sql2005配置
  6. mysql里边字符函数_mysql函数(一.字符函数)
  7. zibll子比主题v5.4免授权修复版
  8. C# 使用Process调用外部程序中所遇到的参数问题
  9. hadoop和spark的区别
  10. elasticsearch_head插件安装
  11. day15 匿名函数及常用内置函数
  12. 164 Maximum Gap 最大间距
  13. linux chmod 777 r,chmod -R 777 的3种补救办法,附有linux chmod命令语法和结构详解
  14. 加油站收银系统 Java_加油站也能用收银系统吗?
  15. 基于周立功can卡+VS开发
  16. php界面入门,web前端入门:一小时学会写页面 - 空酷狗
  17. DCU Streamer Prefetcher
  18. 看了 72 位图灵奖得主成就,才发现我对计算机一无所知
  19. 怎样判断一个P2P平台是否靠谱?
  20. SM2算法第十二篇:数字证书原理

热门文章

  1. Hbase2.3.7安装
  2. git使用之(七)使用post receive hook同步Git仓库
  3. 神经网络的具体的认识-TensorFlow的好玩的神经网络
  4. 关键字分类及背后意图分析
  5. 2018寒假训练第一场——吃鸡跑毒篇
  6. jQuery数据类型
  7. h5无插件 RTSP 摄像头在线播放(用海康摄像头测试)
  8. 凭什么他26岁就年薪30W+?
  9. SpringBoot用实体接收Get请求参数
  10. linux c语言sleep的时间实验