包含在以下函数中声明的结构的函数?
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 的顺序)(我能以某种方式预先声明一些东西吗,如果是,那么是什么以及如何?)
您可以这样做,其中 main
将 Beta
的地址传递给函数。
#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;
}
以下是我的代码:
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 的顺序)(我能以某种方式预先声明一些东西吗,如果是,那么是什么以及如何?)
您可以这样做,其中 main
将 Beta
的地址传递给函数。
#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;
}