#include <stdio.h>
#include <string.h>
struct s
{
int data;
} fun()
{
static struct s ss;
ss.data = 20;
return ss;
}
int main()
{
struct s ss;
memcpy(&ss, &(fun()), sizeof(struct s));
printf("\n Data: :%d", ss.data);
return 0;
}
上記のプログラムでは、リターンタイプが言及されている構造体を定義しようとしています。struct s
正常に定義されました。
これは有効な使用法ですか?私はこのような実際のシナリオを見たことがありません。
このプログラムを機能させる方法は??
このコンパイラエラーが発生します:
asd.c: In function ‘main’:
asd.c:21:15: error: lvalue required as unary ‘&’ operand