有没有办法不用循环,用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遇到指针之后是跳到指针指向的地方去取数据,还是把指针复制过来。兄弟们给支支招?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。