C语言编程调用函数

标签 c function pointers struct

我是 C 编程新手,想学习基础知识。有人能帮助我如何调用具有指针参数的函数吗?

我在 user.c 文件中的代码:

struct user * play_game(struct user * first, struct user * second)
{
    game_board board;
    enum cell token;
    struct user * current, *other, *winner;
}

代码也在user.h文件中,但没有内部语句。 我如何在 main.c 文件中调用它?我不确定参数是什么以及它是如何工作的。

最佳答案

您应该在 main.c 中包含 user.h,并在 user.c 中包含 user.h,在其中实现在 user.h 中声明的函数,就像在接口(interface)中一样。

在 main.c 中,您给出两个 struct user*作为函数的参数。 struct user *var是一个常见的指针类型变量,其中包含一些地址值。要初始化该指针,您可以使用 var = (struct user*)malloc(sizeof(*var))struct user a; var = &a build 。在第一种情况下,您在堆上分配新的结构,在第二种情况下,您获得在堆栈上创建的变量的地址。

调用您的函数的一些代码示例:

struct user* result;
struct user* param1 = (struct user*)malloc(sizeof(*param1));
/* initialize ...*/
struct user param2;
/* initialize ...*/
result = play_game(param1, &param2);

关于C语言编程调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38938418/

相关文章:

c# - 重播功能和参数列表

matlab - Matlab中多变量线性回归的成本函数

arrays - 通过通用函数更新不同的数组

c - 为什么我偶尔会在测试 1 和测试 3 的输出中出现乱码?

pointers - 指针的 Fortran 副本

c - fopen 和 sprintf 的问题

c - 共享内存是如何通过不同的内存地址来共享数据的呢?

在 Ubuntu 中找不到 libcrypto

c - 为什么 boolean 数据类型没有在 C 中实现

c++ - 不可分指针地址的减法