有没有办法不用循环,用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条回答
JYX2015
1楼-- · 2020-01-02 12:12
lollipop 发表于 2017-1-6 13:21
简单问题被你搞啰嗦了,你对C了解的话就会知道结构体可以直接整体赋值的。

typedef struct

不行,我非得用指针不可,但是C语言如果没记错的话,只支持基础类型的强转。
renjun_EMbest
2楼-- · 2020-01-02 17:28
lollipop 发表于 2017-1-6 13:21
简单问题被你搞啰嗦了,你对C了解的话就会知道结构体可以直接整体赋值的。

typedef struct

你在逗我?
NIC
3楼-- · 2020-01-02 23:14
 精彩回答 2  元偷偷看……
ztrx
4楼-- · 2020-01-03 03:30
NIC 发表于 2017-1-6 20:00
你这是什么编译器?

gcc            
lollipop
5楼-- · 2020-01-03 08:11
renjun_EMbest 发表于 2017-1-6 18:35
你在逗我?

你们这点稚嫩脆弱的C语言小功底值得我逗?

自己翻翻K&R结构体那一章的第一页。
zcllom
6楼-- · 2020-01-03 13:23
用循环有何不好?

一周热门 更多>