c类型转换问题,通讯协议栈代码提问

某单片机的协议栈一段代码大致如下,
求问:图中有注释的那一行应该怎么理解呢? 将buffer数组由整型数组转换成struct型数组再赋值给一个struct??

img

butter【20】是一个整型的数组,但是数组名butter是代表首元素地址,是一个地址,而cmf是一个结构体指针,指针是存放地址的
下面哪一行相当于将一个整型的指针butter强制类型转换为结构体指针赋值给cmf,将数组首元素的地址交给结构体指针cmf, 如果不强制类型转换,不然不同类型是不能赋值的
如果题主觉得有用,望采纳,谢谢

buffer变量是一个int类型的指针,打印buffer变量会发现它就是栈上的一个地址。
这一行是将buffer变量赋值给cfm变量,cfm变量赋值后也是一个地址,不过cfm这个地址申明了它为struct req_ind类型的指针