结构体: 在 单片机开发中,经常会遇到要初始化一个外设,比如串口,它的初始化状态是由几个属性来决定的,比如串口号,波特率,极性及模式。对于这种情况,在我们没有学习结构体时,我们一般的方法是: void USART_Init( u8 usartx , u32 BandRate , u8 parity , u8 mode ); 这种方式是有效的同时在一定场合是可取的。但是试想,如果有一天,我们希望往这个函数里再传入一个参数,那么势必我们需要修改这个函数的定义,重新加入字长这个入口参数。于是我们的定义被修改为: void USART_Init( u8 usartx , u32 BandRate , u8 parity , u8 mode , u8 wordlength ); 但是如果我们这个函数的入口参数是随着开发不断的增多,那么是不是我们就要不断的修改函数的定义呢?这是不是给我们开发带来很多的麻烦呢?那又怎样解决这种情况呢?
|