C程序语句解读

2019-07-20 02:54发布

SerialPort _nls =
{
    {InitSerialPort, Rs232SendMsg},
    &_nlsUsart,
        0
};
_nls.base.RxSendMsg(&_nls.base, openMsg, 2);
这个该怎么理解?请指导指导

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
edmund1234
1楼-- · 2019-07-20 08:41
本帖最后由 edmund1234 于 2019-3-29 17:58 编辑

_nls 被定义为SerialPort 结构体的对象
大括号里的东东是给_nls这个结构体每一域赋的值
但我怀疑有语法上的毛病应该在大括号前加上(struct SerialPort),具体要看编译器版本, C99是要加的
C11是不需要加关键字struct的

lafayet
2楼-- · 2019-07-20 12:45
edmund1234 发表于 2019-3-29 17:55
_nls 被定义为SerialPort 结构体的对象
大括号里的东东是给_nls这个结构体每一域赋的值
但我怀疑有语法上 ...

_nls.base.RxSendMsg(&_nls.base, openMsg, 2);
这句话中_nls.base指向的结构体中的哪个对象呀?下滑线有什么含义吗?
sheepsleepin414
3楼-- · 2019-07-20 17:06
 精彩回答 2  元偷偷看……
lafayet
4楼-- · 2019-07-20 18:06
sheepsleepin414 发表于 2019-3-29 18:02
下划线应该是名字的一部分吧

是的 这么命名有什么特别的意思吗
edmund1234
5楼-- · 2019-07-20 23:04
 精彩回答 2  元偷偷看……
sheepsleepin414
6楼-- · 2019-07-20 23:39
 精彩回答 2  元偷偷看……

一周热门 更多>