Hello Jason,
For the 2 , in the function of FLASH1_Init(), first initialize something of the data structure ,
then return it . And in the function of FLASH1_Erase(), we use this structure .
While for the 1, after initialize , in the FLASH1_Erase(), it does not use that result of initialize, only use one NULL structure.
And also in the note of the function , it has tell us how to use parameter of the function FLASH1_Erase() :

So, please use the second method you mentioned. Also you can refer to the "Typical Usage" of "help on component "


Hope it helps
Have a great day,
Alice Yang
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------