原文:【原】C语言函数返回数组的问题

有些时候需要子函数将一个数组返回出来,通常是两种方法,一种是靠指针,另一种是结构体。 一 先来看依靠指针怎么做 例程 : 例程 中的test函数如果写成下面的形式,就无法顺利编译。 例程 : 之所以 tmp可以而tmp 不可以,是因为tmp 是个局部变量,子函数结束时该数组地址虽然没变,但是里面的值已经无意义了,而 tmp是定义了一个全局变量。 但是有些时候我们必须用到类似tmp 而不是 tmp, ...

2013-01-09 21:02 1 25927 推荐指数:

查看详情

C语言函数返回数组

#include "stdio.h"/*int* set(int a,int *c){ int *b; b=malloc(sizeof(int)*3); c[0]=a; c[1]=1+a; c[2]=2+a; b[0]=13; b[1]=14; b[2]=15; return b;}*/char ...

Wed Apr 30 19:55:00 CST 2014 0 5725
C语言函数如何正确返回数组

一个错误的例子 程序运行结果 接着把注释掉的那段代码取消注释 程序运行结果 难道就因为加了一句话,就出错?可是我除了输出啥也没干啊! 实际上我们返回数组的方法是错误的,问题的根源在于:我们在function函数中,定义局部变量a,返回的是a的地址,而a是一个局部变量,当函数调用结束时 ...

Fri Jan 29 03:36:00 CST 2021 0 1329
c语言返回值为数组问题

借鉴他人,自我学习 1.可以用数组输出 返回值为指针形式,传参为指针。返回一个地址 例如: char *text(char *tmp) { return tmp; } int main() { printf("%s",text("ffffx")); } 输出 ...

Mon Mar 23 05:28:00 CST 2015 0 3340
C语言函数不能返回数组,但可以返回结构体

为什么C语言函数可以返回结构体,却不可以返回数组?有这样的问题并不奇怪,因为C语言数组和结构体本质上都是管理一块内存,那为何编译器要区别对待二者呢? C语言函数为什么不能返回数组? 在C语言程序开发中,我们不可以编写下面这样的代码: char f(void)[8] { char ...

Sun Dec 29 06:19:00 CST 2019 0 1230
C函数返回数组

C 语言不允许返回一个完整的数组作为函数的参数。但是,您可以通过指定不带索引的数组名来返回一个指向数组的指针。我们将在下一章中讲解有关指针的知识,您可以先跳过本章,等了解了 C 指针的概念之后,再来学习本章的内容。 如果您想要从函数返回一个一维数组,您必须声明一个返回指针的函数 ...

Tue Dec 31 02:54:00 CST 2019 0 1088
C语言pow函数返回值为0的问题

C语言pow函数返回值为0的问题 由于pow函数返回值是float类型,在用printf()函数打印的时候,如果使用%d格式控制符,输出的就会是0 ...

Mon Oct 12 17:21:00 CST 2020 0 642
C 语言中strcmp函数返回问题

关于strcmp这个函数标准时这样规定的: Compare two strings Compares the C string str1 to the C string str2.This function starts comparing the first character ...

Sat Feb 04 18:08:00 CST 2012 1 7462
C++ 怎样让函数返回数组

C++ 怎样让函数返回数组(转载) 原文链接: https://www.cnblogs.com/ybqjymy/p/12470351.html 这个问题属于非常初级的问题,但是对于初学不知道的人可能会比较头疼。C++ 中函数是不能直接返回一个数组的,但是数组其实就是指 ...

Wed Aug 26 22:24:00 CST 2020 0 875
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM