c语言宏的作用