经常发现一些C语言中通过#define 定义的数据中包含有UL符号,不理解为什么,把他去掉发现也没有什么区别。 现在才明白UL是标记该宏长整型 十进制 数据,而不是字符,也不是int型数据。 C语言中默认宏中的数字是整型数据。 如下面的例子: #define LENGTH (20*1024*1024)UL 你要输出他的话就要这样: printf(“LENGTH is %ld/n”,LENGTH);