C 常量的类型
http://bbs.csdn.net/topics/380028485
整型常量的类型是下列相应表中第一个能表示其值的类型:
int --> long int --> long long int
无后缀的十进制整数常量:int,long int,long long int
以字母u或U为后缀的十进制整型常量:unsigned int,unsigned long int,unsigned long long int
以字母l或L为后缀的十进制整型常量:long int,long long int
同时以字母u或U和字母l或L为后缀的十进制整型常量:unsigned long int,unsigned long long int
以字母ll或LL为后缀的十进制整型常量:long long int
同时以字母u或U和字母ll或LL为后缀的十进制整型常量:unsigned long long int
无后缀的八进制或十六进制常量:int,unsigned int,long int,unsigned long int,long long int,unsigned long long int
以字母u或U为后缀的八进制或十六进制常量:unsigned int,unsigned long int,unsigned long long int
以字母l或L为后缀的八进制或十六进制常量:long int,unsigned long int,long long int,unsigned long long int
同时以字母u或U和字母l或L为后缀的八进制或十六进制常量:unsigned long int,unsigned long long int
以字母ll或LL为后缀的八进制或十六进制常量:long long int,unsigned long long int
同时以字母u或U和字母ll或LL为后缀的八进制或十六进制常量:unsigned long long int
http://www.rapidtables.com/prog/cref/const.htm
Numbers characters and string constants.
See enum end const in data types page.
Data Type Constants
Syntax | Description | Example |
---|---|---|
0xhexnum 0Xhexnum |
hexadecimal number | int x=0x7FFF0000; |
0 octnum |
octal number | int x=07654321; |
num u num U |
unsigned integer number constant | unsigned int x=1000U; |
num l num L |
long integer number constant | long x=-99999L; |
num ul num UL |
unsigned long integer number constant | unsigned long x=99999L; |
num ll num LL |
long long integer number constant | long long x=-888888LL; |
num ull num ULL |
unsigned long long integer number constant | unsigned long long x=100ULL; |
num f num F |
float number constant | float x=0.005F; |
num l num L |
long double number constant | long double x=0.005L; |
num e±exp num E±exp |
floating point exponent number constant | double x=5.2E-3; |
'char' |
character constant | char c='A'; |
"string" |
string constant | char name[6]="Hello"; |
http://stackoverflow.com/questions/7036056/what-do-0ll-or-0x0ul-mean
These are constants in C and C++.
The suffix LL
means the constant is of type long long
, and UL
means unsigned long
.
In general, each L
or l
represents a long
and
each U
or u
represents anunsigned
. So, e.g.
1uLL // means the constant 1 with type unsigned long long.
This also applies to floating point numbers:
1.0f // of type 'float'
1.0 // of type 'double'
.0L // of type 'long double'
and strings and characters, but they are prefixes:
'A' // of type 'char'
L'A' // of type 'wchar_t'
u'A' // of type 'char16_t' (C++0x only)
U'A' // of type 'char32_t' (C++0x only)
In C and C++ the integer constants are evaluated using their original type,
which can cause bugs due to integer overflow:
long long nanosec_wrong = * ;
// ^ you'll get '-1295421440' since the constants are of type 'int'
// which is usually only 32-bit long, not big enough to hold the result. long long nanosec_correct = 1000000000LL *
// ^ you'll correctly get '600000000000' with this int secs = ;
long long nanosec_2 = 1000000000LL * secs;
// ^ use the '1000000000LL' to ensure the multiplication is done as 'long long's.
In Google Go, all integers are evaluated as big integers (no truncation happens),
var nanosec_correct int64 = *
and there is no "usual arithmetic promotion"
var b int32 =
var a int64 = * b
// ^ cannot use 1000000000 * b (type int32) as type int64 in assignment
so the suffixes are not necessary.
C 常量的类型的更多相关文章
- ios swift 里面关于变量 常量 可选类型 控制流的一些心得
//swift 里面没有头文件和实现文件.只有一个.swift文件 //swift 里面没有main的概念,程序从main.swift开始执行 //swift 每一条执行语句可以不用分号结束,多条语句 ...
- 【c++primer练习】 typedef与指针、常量和类型别名
# c++primer 61页 typedef char* ptr ; cstr 是一个指向 char 的常量指针, 一种错误的理解是将语句等同于const char* ptr cstr; 但 ptr ...
- Java基础(变量数&常量&据类型&类型转换)
什么是变量: 变量就是一个不固定的数值,它随时会改变,就像银行卡里存的钱一样会变动. 变量的格式:1 数据类型 变量名=变量值: 2 数据类型 变量名: 变量名=变量值: 变量的三大要素:1变量 ...
- C#中的常量、类型推断和作用域
一.常量 常量是其值在使用过程中不会发生变化的变量.在声明和初始化变量时,在变量前面家关键字const,就可以把该变量指定为一个常量: const int a=100;//a的值将不可以改变 常量的特 ...
- swift语法之常量 变量 类型
常量和变量: 在swift中声明变量或者声明常量的时候可以不用写变量或者常量类型 因为系统会自动推导出对应的类型. 变量:可以更改值 swift中每句代码后面不需要加 ; 号 var num = 5 ...
- Effective Objective-C 2.0 — 第四条:多用类型常量,少用#define预处理指令
第四条:多用类型常量,少用#define预处理指令 使用#define 预处理的坏处:定义出来的常量没有类型信息,编译器只是会在编译前据此执行查找与替换操作.即使有人重新定义了常量值,编译器也不会产生 ...
- 第4条:多用类型常量,少用#define预处理指令
定义常量的几种方式: 1.#define ANIMATION_DURAION 0.3 //定义了一个动画时长的常量, 预处理过程会把碰到的所有ANIMATION_DURAION一律替换 ...
- 【Go入门教程4】变量(var),常量(const),内置基础类型(Boolean、数值 byte,int,rune、字符串、错误类型),分组,iota枚举,array(数值),slice(切片),map(字典),make/new操作,零值
这小节我们将要介绍如何定义变量.常量.Go 内置类型以及 Go 程序设计中的一些技巧. 定义变量 Go 语言里面定义变量有多种方式. 使用 var 关键字是 Go 最基本的定义变量方式,与 C 语言不 ...
- 多用类型常量,少用#define预处理指令
摒弃: #define ANIMATION_DURATION 0.3 #define ERROR_MESSAGE @“ErrorMessage” 1)没有常量的类型信息 2)假设此指令声明在某个头 ...
随机推荐
- linux 安装 Elasticsearch6.4.0详细步骤以及问题解决方案
1.jdk 安装 参考资料:https://www.cnblogs.com/shihaiming/p/5809553.html 2.elasticsearch 安装 下载:https://artifa ...
- Luogu P1160 【队列安排】
详细的链表讲解 很明显的一个链表裸题 和普通的链表有一个区别就是这个题 可以O(1)插入,O(1)查询 然后我们为了方便,采用双向链表,定义s.f作为指针数组 更详细的解释见代码 #include&l ...
- SQLServer 查看备份进度
SELECT DB_NAME(er.[database_id]) [DatabaseName], er.[command] AS [CommandType], er.[percent_comp ...
- Linux学习笔记:mv移动或文件重命名
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 语法:mv 源文件 目标文件 视mv命令中 ...
- 1497: [NOI2006]最大获利
新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战.THU集团旗下的CS&T通讯公司在新一代通讯技术血战的前夜,需要做太多的准备工作,仅就站址选择一项,就需要完成前期市场研 ...
- Rookey.Frame之系统初始化
昨天介绍了数据库的配置,今天继续介绍系统的初始化功能:针对系统初始化在开发中也是很重要的一部分,它可以提前将相关数据提前自动初始化到系统中,同时也可以为上线测试提供方便,可以很方便进行系统测试演练,防 ...
- 【51nod】1655 染色问题
题解 首先每个颜色出现的次数应该是一样的 \(\frac{C_{n}^{2}}{n} = \frac{n - 1}{2}\) 所以n如果是偶数那么就无解了 然后我们需要让每个点连颜色不同的四条边 只要 ...
- vwware虚拟机无法连接外网
1.问题:动态IP时连接外网没有问题,但是将IP改为静态IP时发现没有办法连接外网 查看文件/etc/resolv.conf,里面的内容全部都被注释 [root@jenkins network-scr ...
- Python使用正则
Python中使用正则的两种方式 在Python中有两只能够使用正则表达式的方式: 直接使用re模块中的函数 import re re_string = "{{(.*?)}}" s ...
- jQuery事件和动画
1.toggle事件 <!DOCTYPE html> <html> <head lang="en"> <meta charse ...