读书人

构造

发布时间: 2013-03-21 10:08:17 作者: rapoo

结构?
本帖最后由 GioPna 于 2013-03-19 22:24:45 编辑


//用函数初始化结构!

#include <stdio.h>

struct TT{
int x;
char y;
};

struct TT q1 M(int x1, char y1);

int main()
{
struct TT q;
q=M(1,'Q');
}

struct TT q1 M(int x1, char y1)
{
struct TT a;
a.x=x1;
a.y=y1;
return a;
}




z@z:~$ gcc a.c
a.c:8: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘M’
a.c: In function ‘main’:
a.c:13: error: incompatible types when assigning to type ‘struct TT’ from type ‘int’
a.c: At top level:
a.c:16: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘M’


为什么错了?
[解决办法]

#include <stdio.h>

struct TT{
int x;
char y;
};

struct TT M(int x1, char y1); //函数返回类型 不需要在定义变量了

int main()
{
struct TT q;
q=M(1,'Q');
}

struct TT M(int x1, char y1)
{
struct TT a;
a.x=x1;
a.y=y1;
return a;
}

读书人网 >C语言

热点推荐