c语言 #define 中的UL

转载 2012年03月24日 13:49:46

U和L是 整数文字量的后缀修饰,用于显示指明整数文字量的类型为unsigned int(U)和long int(L)。   
类似的还有浮点数文字量的后缀修饰F或f,用于指明文字量表示的是一个float,而不是默认情况下的double。
经常发现一些C语言中通过#define 定义的数据中包含有UL符号,不理解为什么,把他去掉发现也没有什么区别。
现在才明白UL是标记该宏长整型 十进制 数据,而不是字符,也不是int型数据。
C语言中默认宏中的数字是整型数据。
如下面的例子:
#define LENGTH (20UL*1024*1024)
你要输出他的话就要这样:
printf(“LENGTH is %ld/n”,LENGTH);

例如;

#include <stdio.h>

#define SECONDS_PER_YEAR  60*60*24*365UL
int main(void)
{
    unsigned long int  a = SECONDS_PER_YEAR;
    printf("a = %ld/n",a);
    return 0;
}

输出结果为 a = 31536000;

相关文章推荐

C语言 枚举(enum)、宏定义(#define)、结构体(struct)的一种联合应用

最近看到一种枚举、宏定义、结构体联合的应用,对我这种初学者很有帮助,所以总结一下记录在这,为以后方便查阅,有需要的朋友也可以做一个参考.实际操作就是用宏定义初始化接头体具体操作代码如下:#includ...
  • dsanmux
  • dsanmux
  • 2015年07月19日 13:17
  • 1065

C语言里面的内联函数(inline)与宏定义(#define)探讨

C语言里面的内联函数(inline)与宏定义(#define)探讨   先简明扼要,说下关键: 1、内联函数在可读性方面与函数是相同的,而在编译时是将函数直接嵌入调用程序的主体,省去了调用/返回...

C语言中define的用法

define是C语言中的预处理命令,它用于宏定义,可以提高源代码的可读性,为编程提供方便。 预处理命令以“#”号开头,如包含命令#include,宏定义命令#define等。一般都放在源文件的前...
  • luzewei
  • luzewei
  • 2011年11月28日 21:46
  • 224

c语言typedef 与 #define

typedef作为类型定义关键字,用于在原有数据类型(包括基本类型、构造类型和指针等)的基础上,由用户自定义新的类型名称。在编程中使用typedef的好处,除了为变量取一个简单易记且意义明确的新名称之...

程序猿之---C语言细节29(#define宏大小、空结构体大小、柔性数组不知道你见过没)

柔性数组不知道你见过没、#define宏大小、空结构体大小

C语言中typedef和define的用法

关于typedef的用法总结 基本定义: typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的...

C语言 #define

今天遇到陌生的#define  翻书一看是宏定义,那作用和定义变量差不多。就不明白到底有什么区别了。 网上一查~收集了一些解释 有的时候为了程序的通用性,可以使用#define预处理宏定义命令,它的具...
  • ThinPro
  • ThinPro
  • 2011年02月28日 23:07
  • 306

C语言之#define用法总结

原文出处:http://anna-zr.iteye.com/blog/510368 #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运...

Daily-C-Study(15):C语言宏定义#define

Daily-C-Study(15):C语言宏定义#define 成于坚持,败于止步 一、数值宏常量 #define 宏定义是个演技非常高超的替身演员,但也会经常耍大牌的,所以我们用它要慎之又...

程序猿之---C语言细节28(const变量初始化、数组大小用const变量细节、const变量与#define宏、volatile修饰)

const变量初始化、数组大小用const变量细节、const变量与#define宏、volatile修饰
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c语言 #define 中的UL
举报原因:
原因补充:

(最多只允许输入30个字)