zoukankan      html  css  js  c++  java
  • C语言的基本数据类型长度

    PS:以下内容是在Xcode的编辑器64位环境下的测试结果,网上有关于64位和32位各数据类型存在的差异,请自行online search。 

    main.m

     1 #import <Foundation/Foundation.h>
     2 void basicDataTypeInC() {
     3     NSMutableString *mStrInfo = [[NSMutableString alloc] init];
     4     //(数值类型-》整型)整型;-2147483648至2147483647
     5     int integerVal = 888;
     6     //(数值类型-》整型)短整型
     7     short int shortIntegerVal = 888;
     8     //(数值类型-》整型)长整型
     9     long int longIntegerVal = 888;
    10     
    11     //(数值类型-》浮点型)单精度型,存在失精度的情况(如下:由于单精度型,有效位数是6-7位。而整数已占3位,故小数3位或4位后均为无效数字)
    12     float floatVal = 888.8888888888;
    13     //(数值类型-》浮点型)双精度型(如下:由于是双精度型,有效位数是15-16位。但VC6.0规定小数后最多保留6位,其余部分四舍五入)
    14     double doubleVal = 888.8888888888;
    15     
    16     
    17     //字符类型
    18     char charVal = 'a';
    19     char charVal2 = 97;
    20     //字符串类型;实质是使用指针类型
    21     char *charVal3 = "I am a string.";
    22     
    23     //布尔型;非0和false,即为1表示true
    24     bool boolVal = true;
    25     bool boolVal2 = -1;
    26     bool boolVal3 = 1;
    27     bool boolVal4 = 2;
    28     [mStrInfo appendFormat:@"
    integerVal=%i
    ", integerVal]; //integerVal=888
    29     [mStrInfo appendFormat:@"shortIntegerVal=%hi
    ", shortIntegerVal]; //shortIntegerVal=888
    30     [mStrInfo appendFormat:@"longIntegerVal=%li
    ", longIntegerVal]; //longIntegerVal=888
    31     [mStrInfo appendFormat:@"floatVal=%f
    ", floatVal]; //floatVal=888.888916
    32     [mStrInfo appendFormat:@"doubleVal=%f
    ", doubleVal]; //doubleVal=888.888889
    33     [mStrInfo appendFormat:@"charVal=%c
    ", charVal]; //charVal=a
    34     [mStrInfo appendFormat:@"charVal2=%c
    ", charVal2]; //charVal2=a
    35     [mStrInfo appendFormat:@"charVal3=%s
    ", charVal3]; //charVal3=I am a string.
    36     [mStrInfo appendFormat:@"boolVal=%i
    ", boolVal]; //boolVal=1
    37     [mStrInfo appendFormat:@"boolVal2=%i
    ", boolVal2]; //boolVal2=1
    38     [mStrInfo appendFormat:@"boolVal3=%i
    ", boolVal3]; //boolVal3=1
    39     [mStrInfo appendFormat:@"boolVal4=%i
    
    
    ", boolVal4]; //boolVal4=1
    40     
    41     
    42     [mStrInfo appendFormat:@"sizeof(int) 为%lu个字节
    ", sizeof(int)]; //sizeof(int) 为4个字节
    43     [mStrInfo appendFormat:@"sizeof(short int) 为%lu个字节
    ", sizeof(short int)]; //sizeof(short int) 为2个字节
    44     [mStrInfo appendFormat:@"sizeof(long int) 为%lu个字节
    ", sizeof(long int)]; //sizeof(long int) 为8个字节
    45     [mStrInfo appendFormat:@"sizeof(float) 为%lu个字节
    ", sizeof(float)]; //sizeof(float) 为4个字节
    46     [mStrInfo appendFormat:@"sizeof(double) 为%lu个字节
    ", sizeof(double)]; //sizeof(double) 为8个字节
    47     [mStrInfo appendFormat:@"sizeof(char) 为%lu个字节
    ", sizeof(char)]; //sizeof(char) 为1个字节
    48     [mStrInfo appendFormat:@"sizeof(bool) 为%lu个字节", sizeof(bool)]; //sizeof(bool) 为1个字节
    49     NSLog(@"%@", mStrInfo);
    50 }
    51 int main(int argc, const char * argv[]) {
    52     @autoreleasepool {
    53         NSLog(@"C语言的基本数据类型长度");
    54         basicDataTypeInC();
    55     }
    56     return 0;
    57 }

    结果:

     1 2015-05-15 23:01:06.687 CBasicDataType[917:36520] C语言的基本数据类型长度
     2 2015-05-15 23:01:06.688 CBasicDataType[917:36520] 
     3 integerVal=888
     4 shortIntegerVal=888
     5 longIntegerVal=888
     6 floatVal=888.888916
     7 doubleVal=888.888889
     8 charVal=a
     9 charVal2=a
    10 charVal3=I am a string.
    11 boolVal=1
    12 boolVal2=1
    13 boolVal3=1
    14 boolVal4=1
    15 sizeof(int) 为4个字节
    16 sizeof(short int) 为2个字节
    17 sizeof(long int) 为8个字节
    18 sizeof(float) 为4个字节
    19 sizeof(double) 为8个字节
    20 sizeof(char) 为1个字节
    21 sizeof(bool) 为1个字节
  • 相关阅读:
    排列组合例题分析
    短信微服务+springboot+redis整合,动态获取短信验证码
    mac版idea 2018.3.5版 永久激活教程
    windows版idea 2018.3.5版 永久激活教程
    深入理解 Java 垃圾回收机制
    如何写代码 —— 编程内功心法
    并发与并行的区别
    Lua语法要点
    android 手机上运行图像算法
    OPENCL 错误码
  • 原文地址:https://www.cnblogs.com/huangjianwu/p/4549125.html
Copyright © 2011-2022 走看看