有没有办法不用循环,用memcopy+指针来赋值数组?

2020-01-01 17:43发布

如题。有个结构体:
  1. typedef struct
  2. {
  3.         u16 rudder_input;
  4.         u8 input_stream[5];  
  5. } control_input_para_t;
复制代码

我现在想把input_stream[5]里面弄上数据,典型的做法是用个循环。我琢磨着有没有更好的主意?我准备这么干,首先
把这个数组单独弄出来,变成一个结构体:

  1. typedef struct
  2. {
  3.         u8 input_stream[5];
  4. } input_stream_t;
复制代码

然后再整一个新结构体:

  1. typedef struct
  2. {
  3.         u16 rudder_input;
  4.         input_stream_t* input_stream;  
  5. } control_input_para_t;
复制代码

接下来用memcopy,再下来我就不知道怎么搞了,因为sizeof(control_input_para_t)出来的显然不是u16+u8*5,而且我也闹不明白memcopy遇到指针之后是跳到指针指向的地方去取数据,还是把指针复制过来。兄弟们给支支招?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
myxiaonia
1楼-- · 2020-01-03 18:35
lollipop 发表于 2017-1-6 20:59
你们这点稚嫩脆弱的C语言小功底值得我逗?

自己翻翻K&R结构体那一章的第一页。 ...

好大口气,结构体赋值是个简单的问题,也是个讨厌的w t w
tomhe666
2楼-- · 2020-01-03 20:59
 精彩回答 2  元偷偷看……

一周热门 更多>