[C语言] 关于结构体作函数参数直接赋值,请教

[复制链接]
 楼主| 原野之浪 发表于 2014-9-29 13:12 | 显示全部楼层 |阅读模式
typedef struct {
        uint64_t     x;
        uint32_t     y;       
}  jiegouti;

jiegouti tt = {1,1};
void function(jiegouti a)
{
   a = a;
}

我现在只能这样调用  function(tt);

现在想直接赋值为什么不行?有什么理论依据?
function({1,1});
ayb_ice 发表于 2014-9-29 13:34 | 显示全部楼层
{1,1}

编译器可不知道这与jiegouti是什么关系
ayb_ice 发表于 2014-9-29 13:40 | 显示全部楼层
RT:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 原野之浪 发表于 2014-9-29 13:50 | 显示全部楼层
ayb_ice 发表于 2014-9-29 13:40
RT:

什么编译器 ?

MDK不行啊
ccxlslr 发表于 2014-9-29 14:39 | 显示全部楼层
jiegouti abc;
abc = {1,1};  
上面这样都是不行的,{1,1}这不是一个合法的表达式。这种方法只是用来初始化复和类型数据的,像结构数组这些。
ayb_ice 发表于 2014-9-29 19:16 来自手机 | 显示全部楼层
原野之浪 发表于 2014-9-29 13:50
什么编译器 ?

MDK不行啊

使能C99标准
我那就是MDK
 楼主| 原野之浪 发表于 2014-9-29 22:02 来自手机 | 显示全部楼层
好的
xyz549040622 发表于 2014-10-1 15:59 来自手机 | 显示全部楼层
形参的格式不是这样子的,形参只能为数据类型,中间用逗号隔开
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

44

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部