Take more memory in stack compare to function. Suppose in the program that there a Macro which used 50 times that means it will consume memory 50 times but in function if a function is called 50 times it will take single memory every time because every time it deallocate that memory
C 語言對於 macro 的處理是在 preprocessed 這個解段,基本上可以當做是在 compile time 完成的,所以比起在 run time 才處理 function 的 push、pop 自然會更有時間上的效率,而這些勢必要多犧牲一些在 memory 的空間來達到這樣的效果