基本数据类型小议

1. 整型只有四类:short, int, long, long long.
   在int和short/long的组合中,int被忽略。其它的组合被视为非法。如 
         short int x 等价于 int short x 等价于 short.
         long int x  等价于 int long x  等价于 long.
         long int long 等价于 long long.
         long long int, short long 均非法。
   signed/unsigned可以和这四类任意搭配。位置也随意。如
         unsigned int 等价于 int unsigned.
         signed long int 等价于 long signed int 等价于 long int signed.
   在包含signed的组合中,signed被忽略。因为short, int, long, long long缺省就是signed的。如
         long signed long 等价于 long long.

   综上,整个整型共有8种类型。它们是 int, short, long, long long, unsigned int, unsigned short, unsigned long, unsigned long long.

2. 字符型: char
   signed/unsigned 可以和char搭配出两种新类型:signed char, unsigned char.
   注意signed char和char是不同的类型。
   综上,整个char型共有3种类型。它们是char, signed char, unsigned char.
   short/long不能修饰char.
   (wchar_t一般是用unsigned short来实现的)

3. 布尔型:bool. 用signed/unsigned/short/long来修饰bool均非法。
4. 浮点型:有3种. float, double, long double.
   short/long float非法。short double非法。 signed/unsigned 也不能修饰它们。

5. const可以修饰以上15种类型,位置任意。但是不形成新的类型,对生成的汇编代码亦无影响。唯一的效果是可以在编译时做只读性检查。如
   long const int, long int const, long const, const int long都是同一种类型long.

6. 以上15种类型均有其相应的指针类型。若要形成指针类型,"*" 只能放在原始类型的最末尾。指向常量的指针和指向非常量的指针是两个不同的类型。若要声明常量指针,需把const放在"*"的后面。如前所述,常量指针和非常量指针是同一类型。如
   int * 和 const int * 是两种不同类型。
   int * const 和 int * 是相同的类型(都是int *).
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值