我知道在C语言中,我们不能从函数返回数组,而只能返回指向数组的指针。但是我想知道有什么特别之处structs
,即使它们可能包含数组,它们也可以由函数返回。
为什么struct
包装使以下程序有效?
#include <stdio.h>
struct data {
char buf[256];
};
struct data Foo(const char *buf);
int main(void)
{
struct data obj;
obj = Foo("This is a sentence.");
printf("%s\n", obj.buf);
return 0;
}
struct data Foo(const char *buf)
{
struct data X;
strcpy(X.buf, buf);
return X;
}
union
。工会有什么特别之处?