On Sat, Dec 05, 2020 at 07:47:01PM +0700, Minh Bùi Quang wrote: > Vào Th 6, 4 thg 12, 2020 vào lúc 23:12 Alan Stern > <stern@xxxxxxxxxxxxxxxxxxx> đã viết: > > Does this initialization end up using less memory than an explicit > > memset() call? > > You mean speed? No, I mean memory space. A memset call requires a certain amount of instruction space (to push the arguments and make the call) but no static data space. Initialization requires some instruction space (to copy the data) and static data space as well (to hold the data that is to be copied). Alan Stern > In my opinion, there is no difference in speed between 2 ways. > When I compile this array initialization using gcc 5.4.0, this > initialization becomes > mov instructions when MAX_NUM_UDC=2 and becomes rep stos when > MAX_NUM_UDC=32. I think it makes no difference when comparing with memset() > > Thanks, > Quang Minh