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

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-31 03:58
 精彩回答 2  元偷偷看……
elecompu
2楼-- · 2020-01-31 09:36

struct Ti
  {
   unsigned long Ti_All;
   unsigned long Ti_Ok;
   unsigned char Ti_Temp[10];
   unsigned char CRC_T0;
   unsigned char CRC_T1;
   //struct RI *RI_PX;
  }TiData={.Ti_Temp={1,2,3,4,5,6,7,8,9}};
我对语法也不太清楚,试试上面的呢?----这样也没编译过,刚跑完步累吐血了!一会静心下来再学习,谢谢各位!
lcofjp
3楼-- · 2020-01-31 12:46
yklstudent 发表于 2013-3-19 20:07
哦  没表达清楚 我意思是指keil编译器  难道不支持C99标准吗????

keil对c的支持很差的。
像for(int i=0; i<10; i++);这样的语法都不行。
可能是还未支持c99
yklstudent
4楼-- · 2020-01-31 18:27
lcofjp 发表于 2013-3-19 20:14
keil对c的支持很差的。
像for(int i=0; i

恩 你说的也是 谢谢了
rookies
5楼-- · 2020-01-31 19:40
结构体中的是申明!不是定义,定义要在下面!
elecompu
6楼-- · 2020-01-31 21:51
 精彩回答 2  元偷偷看……

一周热门 更多>