包含在以下函数中声明的结构的函数?

A function, which contains a struct, that is declared in the following function?

以下是我的代码:

typedef struct Alpha {
int number;
} Alpha;

void setnumber(){
    Beta->number = 1;
}


int main()
{
    Alpha Beta;
    setnumber();
    return 0;
}

这只是输出 "Error: Beta was not declared in this scope"

我如何声明它,使其有效? (不改变 typedef、setnumber 和 main 的顺序)(我能以某种方式预先声明一些东西吗,如果是,那么是什么以及如何?)

您可以这样做,其中 mainBeta 的地址传递给函数。

#include <stdio.h>

typedef struct Alpha {
    int number;
} Alpha;

void setnumber(Alpha *Beta) {
    Beta->number = 42;
}

int main(void) {
    Alpha Beta = {0};
    setnumber(&Beta);
    printf("%d\n", Beta.number);
    return 0;
}