【发布时间】:2012-01-05 15:56:09
【问题描述】:
我有一个函数:
*Foo* create_foo();
其中 Foo 是一个具有许多字段的结构:
typedef struct foo {
int progr_num;
char* size;
char* account;
int matric_num;
int codex_grp;
char* note;
} Foo;
我调用这个函数的具体返回值是多少?
功能:
Foo create_foo() {
Foo x;
...
...
return x
}
我知道返回类型是Foo,但是如果我调用函数并想测试返回值,哪个是正确的值?? (例如,如果函数是 int 类型,则返回 0 或 -1)。
当我调用函数时,返回正确的值是什么??
例如:
int main() {
Foo foo_check;
foo_check = create_foo();
if(!foo_check)
return ... **???**
}
【问题讨论】:
-
好吧,根据您的解释,该函数返回一个结构。您需要通过“测试”返回值(即结构)来解释您的确切含义。
-
“(例如,如果一个函数是 int 类型,则返回 0 或 -1)”是什么意思?我认为您对返回类型感到困惑。在
int create_int();中,返回的 int 是大范围内的任何正整数或负整数或零整数。 -
@Kyrol:
Foo create_foo();不是函数。它是一个函数定义。您的回报值在函数中定义。也许我不明白你的问题...... -
@AaronMcDaid 我并不感到困惑。我知道,现在看看我以更好的方式编辑问题。
标签: c function return-value return-type