当前位置:首页 » 编程语言 » c语言函数返回值是数组

c语言函数返回值是数组

发布时间: 2025-02-12 21:21:16

c语言中函数返回值可以是数组、字符串和结构体吗

1、ANSIC语言标准,明确规定数组类型和函数类型不可以做为返回值。
解决这种返回值的方法是通过指针来间接返回,即使用数组指针和函数指针。这可以做为c语言引入指针的另一个理由。
2、字符串是数组的一种,是字符数组,所以同样不可以作为返回值。
3、结构体类型可以做为返回值,C语言设计者当时引入struct结构体的概念,目的是为了增加一种建立C语言新类型的机制,换句话说它希望通过struct建立的类型,像内置的int float类型一样使用方便。

Ⅱ c语言中调用函数的返回值,如果是数组,主函数要输出这个数组怎么实现啊

用指针,另外保存数据的变量退出函数时不得消失。

例如:

#include<stdio.h>

int * fun(int n)

{

int i;

static int a[100]; // 这里用static

for (i=0;i<n;i++) a[i]=i;

return &a[0];

}

void main()

{

int i,n=5;

int *p; // 声明指针

p = fun(n); // 返回指针

for (i=0;i<n;i++) printf("%d ",p[i]); // 把 p 看成数组来输出

}

得 0 1 2 3 4

(2)c语言函数返回值是数组扩展阅读:

注意事项

1、数组宏棚的维度必须是一个常蔽段则量表达式

int main(void)

{

constexpr int i = 20;

int j = 5;//不是常量表达式

int arr1[i];//正确

int arr2[j];//错误

system("燃宏pause");

return 0;

}

2、默认情况下,数组的元素被默认初始化。

而且需要注意的是,和内置类型的变量一样,如果在函数内部定义了某种内置类型的数组,那么默认初始化会令数组有未定义的值。

Ⅲ c语言中如何使返回值为数组

int Merge1 (int b[ ], int b1[ ], int s, int m, int t )改成int *Merge1 (int b[ ], int b1[ ], int s, int m, int t )

就是int 后面加*,这样就可以了

Ⅳ 怎么使C语言的函数返回值为一个数组

// 方法1,用静态变量进行返回
char *SubFunction(void)
{
static char szText[5] = "adfa"; // 用静态空间
//对p进行赋值操作
return szText;
}
void Caller() // 这个函数调用SubFunction
{
TRACE("%s\n", SubFunction);
}

// 方法2,用指针传递
void SubFunction(char *pText1, char *pText2)
{
// 对pText1, pText2运算
strcpy(pText1, "love");
strcpy(pText2, "you");
return;
}
void Caller() // 这个函数调用SubFunction
{
char szText1[5], szText2[5]; // 当然这里也可以动态分配内存
SubFunction(szText1, szText2); // szText1, szText2就是带回的值
TRACE("%s %s\n", szText1, szText2);
}

Ⅳ C语言函数中返回数组

void pop(int b[],int n)
{
int i;
for(i=0;i<n;i++)
b[i]=i;
}

main()
{
int b[3],i;
pop(b,3);
for(i=0;i<3;i++) printf("%d",b[i]);
}

离开子函数之后,那个数组空间已经释放,返回好像没意义了

热点内容
php把数据插入数据库 发布:2025-02-13 00:09:48 浏览:369
eclipse查看jar包源码 发布:2025-02-12 23:59:35 浏览:972
电脑主机服务器维修 发布:2025-02-12 23:59:26 浏览:302
sqlserver标识 发布:2025-02-12 23:51:33 浏览:463
安卓怎么玩地牢猎人 发布:2025-02-12 23:50:25 浏览:943
思乡脚本 发布:2025-02-12 23:43:32 浏览:440
java的job 发布:2025-02-12 23:38:43 浏览:893
我的世界服务器授权指令 发布:2025-02-12 23:30:13 浏览:597
电脑服务器号在哪里找 发布:2025-02-12 23:22:29 浏览:13
linux查看系统是32位 发布:2025-02-12 23:17:29 浏览:989