caihong001 发表于 2018-7-19 09:29

结构体内定义大数组到底好不好?

如题,举个简单的例子
第一种方式:
typedef struct
{
   u8 i;
   u8 temp;
}A;

第二种方式:

typedef struct
{
   u8 i;
   u8* temp;
}AA;

u8 num;
AA sTU;

sTU.temp = num;

以上两种方式,哪一种更好, 为什么呢?

ayb_ice 发表于 2018-7-19 09:37

没有什么不好,看具体应用吧
第二种灵活点,但第一种简单点

Vansm 发表于 2018-8-8 13:58

平时看不出来如果结构体作为函数传递的时候可能就看出来了

xxzouzhichao 发表于 2018-9-7 12:07

Vansm 发表于 2018-8-8 13:58
平时看不出来如果结构体作为函数传递的时候可能就看出来了

大结构体最好还是用指针作为传递吧

Ketose 发表于 2018-9-12 10:22

你的这个两种方式没什么区别。都不会节省内存。、
应该这样子
typedef struct
{
   u8 i;
   u8 temp;
}A;
结构体变成了可变大小。

zhanzr21 发表于 2019-2-21 21:43

取决于你的实际情况阿
单片机板子一般内存小
第二种方法稍稍灵活一点 但是容易出错 比如没有赋值指针就访问

从代码本身来看没有优劣之分
页: [1]
查看完整版本: 结构体内定义大数组到底好不好?