21ic电子技术开发论坛 单片机与嵌入式系统 侃单片机论坛 关于结构体作函数参数直接赋值,请教
发新帖我要提问
返回列表
打印
[C语言]

关于结构体作函数参数直接赋值,请教

[复制链接]
2105|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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:

未命名.PNG (17.26 KB )

未命名.PNG

使用特权

评论回复
地板
原野之浪|  楼主 | 2014-9-29 13:50 | 只看该作者
ayb_ice 发表于 2014-9-29 13:40
RT:

什么编译器 ?

MDK不行啊

使用特权

评论回复
5
ccxlslr| | 2014-9-29 14:39 | 只看该作者
jiegouti abc;
abc = {1,1};  
上面这样都是不行的,{1,1}这不是一个合法的表达式。这种方法只是用来初始化复和类型数据的,像结构数组这些。

使用特权

评论回复
6
ayb_ice| | 2014-9-29 19:16 | 只看该作者
原野之浪 发表于 2014-9-29 13:50
什么编译器 ?

MDK不行啊

使能C99标准
我那就是MDK

使用特权

评论回复
7
原野之浪|  楼主 | 2014-9-29 22:02 | 只看该作者
好的

使用特权

评论回复
8
xyz549040622| | 2014-10-1 15:59 | 只看该作者
形参的格式不是这样子的,形参只能为数据类型,中间用逗号隔开

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

44

帖子

0

粉丝
关闭 热门推荐
快速回复 在线客服 返回列表 返回顶部