关于一个结构体的问题

风吹草低现羊牛 2012-01-09 10:56:25
Linux上的结构体可以这样赋值:

struct test
{
int a;
int b;
};

struct test t;
t = (struct test){1, 2};

但是WINDOWS上不可以,难道WINDOWS上就只有使用 xxx.x=aaa;

或者memcpy()了吗?

求解。
...全文
113 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
结帖了,其实没啥,只是不同平台编译器问题而已。
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 kuyucman 的回复:]
编译器不同约定吧 没必要为这费劲 语句要用标准的简单的好
[/Quote]

我决定用宏来解决这个问题
东莞某某某 2012-01-09
  • 打赏
  • 举报
回复
编译器不同约定吧 没必要为这费劲 语句要用标准的简单的好
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 year2002 的回复:]
test c = {1, 2};
反正vs2010上是可以的
[/Quote]

我这在定义的时候初始化就没有意义了,所以必定先定义更赋值。
  • 打赏
  • 举报
回复
test c = {1, 2};
反正vs2010上是可以的
面包大师 2012-01-09
  • 打赏
  • 举报
回复
只能够初始化的时候那样子赋值,其他时候就只能t.a=1;或者memcpy
面包大师 2012-01-09
  • 打赏
  • 举报
回复
可以这样,struct test t={1, 2};
Binzo 2012-01-09
  • 打赏
  • 举报
回复
struct test t = {1, 2};

win为什么不可以。

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧