+ -
当前位置:首页 → 问答吧 → 为什么这个结构体赋值方法不对呢?

为什么这个结构体赋值方法不对呢?

时间:2011-12-08

来源:互联网

定义了一个结构体变量: COMMTIMEOUTS nTimeOuts;//超时结构块
赋值的时候这样赋值好像不对: nTimeOuts={ // 串口超时控制参数
100, // 读字符间隔超时时间: 100 ms
1, // 读操作时每字符的时间: 1 ms (n个字符总共为n ms)
500, // 基本的(额外的)读超时时间: 500 ms
1, // 写操作时每字符的时间: 1 ms (n个字符总共为n ms)
100};// 基本的(额外的)写超时时间: 100 ms
一个元素一个元素的赋值是可以的,但是嫌麻烦,就采取上面的方法,结构就出错了,很是郁闷,为什么呢?

作者: csf111   发布时间: 2011-12-08

你结构体什么结构,多有哪些字段

作者: bdmh   发布时间: 2011-12-08

结构体定义并初始化的时候可以这样用COMMTIMEOUTS nTimeOut={...},如果你已经定义了该结构体COMMTIMEOUTS nTimeOut,然后再赋值nTimeOut={....}是不允许的。

作者: kusey   发布时间: 2011-12-08

引用 2 楼 kusey 的回复:
结构体定义并初始化的时候可以这样用COMMTIMEOUTS nTimeOut={...},如果你已经定义了该结构体COMMTIMEOUTS nTimeOut,然后再赋值nTimeOut={....}是不允许的。



确实是这样的。

作者: liru125504   发布时间: 2011-12-08

引用 2 楼 kusey 的回复:
结构体定义并初始化的时候可以这样用COMMTIMEOUTS nTimeOut={...},如果你已经定义了该结构体COMMTIMEOUTS nTimeOut,然后再赋值nTimeOut={....}是不允许的。

这样只能在定义变量的时候用这种方法可以初始化,其他地方是不行的.

作者: zhdi1986   发布时间: 2011-12-08