21xrx.com
2024-11-08 22:26:54 Friday
登录
文章检索 我的文章 写文章
如何在C语言中实现函数返回多个值
2023-06-14 12:57:53 深夜i     --     --
C语言 函数 返回多个值

在C语言中,一个函数通常只能返回一个值。但有时候,我们需要从一个函数中返回多个值,该如何实现呢?这时候,可以借助指针、结构体、数组等数据结构来实现多个返回值。

1. 指针

函数可以返回一个指向数组或结构体的指针,从而实现多个返回值。例如:


void multi_return(int *a, int *b) {

  *a = 1;

  *b = 2;

}

int main() {

  int x, y;

  multi_return(&x, &y);

  printf("%d %d\n", x, y); // 输出 1 2

  return 0;

}

2. 结构体

结构体是C语言中一种自定义的数据类型,可以包含多个不同类型的数据。通过定义一个包含多个成员变量的结构体,函数可以返回一个包含多个值的结构体。


typedef struct

  int a;

  int b;

Multi;

Multi multi_return() {

  Multi result = 1;

  return result;

}

int main() {

  Multi m = multi_return();

  printf("%d %d\n", m.a, m.b); // 输出 1 2

  return 0;

}

3. 数组

另一种实现多个返回值的方法是使用数组。例如:


void multi_return(int *result) {

  result[0] = 1;

  result[1] = 2;

}

int main() {

  int arr[2];

  multi_return(arr);

  printf("%d %d\n", arr[0], arr[1]); // 输出 1 2

  return 0;

}

通过使用指针、结构体、数组等方法,我们可以在C语言中实现函数返回多个值的功能。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复