c语言中的宏有没有大小写

如题所述

C语言中宏既可以大写也可以小写,大写的宏和小写的宏有区别,看下面的例子:
#include<stdio.h>
#define c 2010.1106
void main()
{
printf("%f\n",c);
getchar();
}
宏名和调用宏的地方同时改为C或c都是一样的结果,因此宏名既可以大写也可以小写!但是如果宏名为C而调用宏的地方为c,那么就出错了!也就是说宏名和调用该宏的地方大小写要一致!如果#define C 2010.1106;那么调用该宏就不能用c,只能用C。
但是,在编程中往往习惯将宏名大写,这样方便和变量区别开来!建议定义宏的时候将宏名大写!
例:
#define C 299792.458
#define M (y*y+8y)
宏名小写的:
#define offsetof(s_type) ((size_t)&(((s_type *)0)->m))
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-06
c是大小写敏感的,当然有区别,你定义的什么就用什么,通常是大写定义宏变量,约定俗成而已
楼上的说法自己推翻自己了,当然我们的结论是一样的