请教:结构体内定义一个数组可以直接赋初值吗?

2020-01-30 14:02发布

最近没活干,学习一下单片机。 请教一下,在结构体内定义的数组可以直接赋初值吗?如果不行怎么初始化这个数组的值呢?
struct Ti
  {
   unsigned long Ti_All;
   unsigned long Ti_Ok;
   unsigned char Ti_Temp[10]={0,1,2,3,4,5,6,7,8,9};//这里编译不过去有错误!
   unsigned char CRC_T0;
   unsigned char CRC_T1;
   //struct RI *RI_PX;
  }TiData;//发送数据存储区
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
yklstudent
1楼-- · 2020-01-30 15:03
找本C语言书看看 应该有答案
lcofjp
2楼-- · 2020-01-30 16:01
 精彩回答 2  元偷偷看……
yklstudent
3楼-- · 2020-01-30 18:19
lcofjp 发表于 2013-3-19 18:03
struct Ti
  {
   unsigned long Ti_All;

结构体中的每个成员都赋值 才能编译过去
lcofjp
4楼-- · 2020-01-30 19:21
yklstudent 发表于 2013-3-19 19:06
结构体中的每个成员都赋值 才能编译过去

c99语法可给部分成员初始化。
yklstudent
5楼-- · 2020-01-30 19:40
本帖最后由 yklstudent 于 2013-3-19 19:49 编辑
lcofjp 发表于 2013-3-19 19:09
c99语法可给部分成员初始化。


哦  在PICC9.80平台下 测试了下 好像不可以部分赋初值
我在多试试几个平台看看

C51下测试不允许 GCC下允许  难道C51不支持C99标准???
lcofjp
6楼-- · 2020-01-30 22:51
yklstudent 发表于 2013-3-19 19:39
哦  在PICC9.80平台下 测试了下 好像不可以部分赋初值
我在多试试几个平台看看

跟c51没关系,是编译器的事

一周热门 更多>