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:@"\nintegerVal=%i\n", integerVal]; //integerVal=888
29     [mStrInfo appendFormat:@"shortIntegerVal=%hi\n", shortIntegerVal]; //shortIntegerVal=888
30     [mStrInfo appendFormat:@"longIntegerVal=%li\n", longIntegerVal]; //longIntegerVal=888
31     [mStrInfo appendFormat:@"floatVal=%f\n", floatVal]; //floatVal=888.888916
32     [mStrInfo appendFormat:@"doubleVal=%f\n", doubleVal]; //doubleVal=888.888889
33     [mStrInfo appendFormat:@"charVal=%c\n", charVal]; //charVal=a
34     [mStrInfo appendFormat:@"charVal2=%c\n", charVal2]; //charVal2=a
35     [mStrInfo appendFormat:@"charVal3=%s\n", charVal3]; //charVal3=I am a string.
36     [mStrInfo appendFormat:@"boolVal=%i\n", boolVal]; //boolVal=1
37     [mStrInfo appendFormat:@"boolVal2=%i\n", boolVal2]; //boolVal2=1
38     [mStrInfo appendFormat:@"boolVal3=%i\n", boolVal3]; //boolVal3=1
39     [mStrInfo appendFormat:@"boolVal4=%i\n\n\n", boolVal4]; //boolVal4=1
40     
41     
42     [mStrInfo appendFormat:@"sizeof(int) 为%lu个字节\n", sizeof(int)]; //sizeof(int) 为4个字节
43     [mStrInfo appendFormat:@"sizeof(short int) 为%lu个字节\n", sizeof(short int)]; //sizeof(short int) 为2个字节
44     [mStrInfo appendFormat:@"sizeof(long int) 为%lu个字节\n", sizeof(long int)]; //sizeof(long int) 为8个字节
45     [mStrInfo appendFormat:@"sizeof(float) 为%lu个字节\n", sizeof(float)]; //sizeof(float) 为4个字节
46     [mStrInfo appendFormat:@"sizeof(double) 为%lu个字节\n", sizeof(double)]; //sizeof(double) 为8个字节
47     [mStrInfo appendFormat:@"sizeof(char) 为%lu个字节\n", 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个字节

 

posted @ 2015-06-03 14:44  KenmuHuang  阅读(2602)  评论(0编辑  收藏  举报
如果您看完本篇博文,觉得对您有所收获,请点击右下角的 [推荐]
如果您想转载,请注明出处(原创内容,请尊重个人劳动成果)
如果您有任何意见或建议,欢迎留言
感谢您的阅读,敬请关注我的后续博客文章