C语言的基本数据类型长度

时间:2022-07-03 23:00:53

C语言的基本数据类型长度

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

main.m

 #import <Foundation/Foundation.h>
void basicDataTypeInC() {
NSMutableString *mStrInfo = [[NSMutableString alloc] init];
//(数值类型-》整型)整型;-2147483648至2147483647
int integerVal = ;
//(数值类型-》整型)短整型
short int shortIntegerVal = ;
//(数值类型-》整型)长整型
long int longIntegerVal = ; //(数值类型-》浮点型)单精度型,存在失精度的情况(如下:由于单精度型,有效位数是6-7位。而整数已占3位,故小数3位或4位后均为无效数字)
float floatVal = 888.8888888888;
//(数值类型-》浮点型)双精度型(如下:由于是双精度型,有效位数是15-16位。但VC6.0规定小数后最多保留6位,其余部分四舍五入)
double doubleVal = 888.8888888888; //字符类型
char charVal = 'a';
char charVal2 = ;
//字符串类型;实质是使用指针类型
char *charVal3 = "I am a string."; //布尔型;非0和false,即为1表示true
bool boolVal = true;
bool boolVal2 = -;
bool boolVal3 = ;
bool boolVal4 = ;
[mStrInfo appendFormat:@"\nintegerVal=%i\n", integerVal]; //integerVal=888
[mStrInfo appendFormat:@"shortIntegerVal=%hi\n", shortIntegerVal]; //shortIntegerVal=888
[mStrInfo appendFormat:@"longIntegerVal=%li\n", longIntegerVal]; //longIntegerVal=888
[mStrInfo appendFormat:@"floatVal=%f\n", floatVal]; //floatVal=888.888916
[mStrInfo appendFormat:@"doubleVal=%f\n", doubleVal]; //doubleVal=888.888889
[mStrInfo appendFormat:@"charVal=%c\n", charVal]; //charVal=a
[mStrInfo appendFormat:@"charVal2=%c\n", charVal2]; //charVal2=a
[mStrInfo appendFormat:@"charVal3=%s\n", charVal3]; //charVal3=I am a string.
[mStrInfo appendFormat:@"boolVal=%i\n", boolVal]; //boolVal=1
[mStrInfo appendFormat:@"boolVal2=%i\n", boolVal2]; //boolVal2=1
[mStrInfo appendFormat:@"boolVal3=%i\n", boolVal3]; //boolVal3=1
[mStrInfo appendFormat:@"boolVal4=%i\n\n\n", boolVal4]; //boolVal4=1 [mStrInfo appendFormat:@"sizeof(int) 为%lu个字节\n", sizeof(int)]; //sizeof(int) 为4个字节
[mStrInfo appendFormat:@"sizeof(short int) 为%lu个字节\n", sizeof(short int)]; //sizeof(short int) 为2个字节
[mStrInfo appendFormat:@"sizeof(long int) 为%lu个字节\n", sizeof(long int)]; //sizeof(long int) 为8个字节
[mStrInfo appendFormat:@"sizeof(float) 为%lu个字节\n", sizeof(float)]; //sizeof(float) 为4个字节
[mStrInfo appendFormat:@"sizeof(double) 为%lu个字节\n", sizeof(double)]; //sizeof(double) 为8个字节
[mStrInfo appendFormat:@"sizeof(char) 为%lu个字节\n", sizeof(char)]; //sizeof(char) 为1个字节
[mStrInfo appendFormat:@"sizeof(bool) 为%lu个字节", sizeof(bool)]; //sizeof(bool) 为1个字节
NSLog(@"%@", mStrInfo);
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSLog(@"C语言的基本数据类型长度");
basicDataTypeInC();
}
return ;
}

结果:

 -- ::06.687 CBasicDataType[:] C语言的基本数据类型长度
-- ::06.688 CBasicDataType[:]
integerVal=
shortIntegerVal=
longIntegerVal=
floatVal=888.888916
doubleVal=888.888889
charVal=a
charVal2=a
charVal3=I am a string.
boolVal=
boolVal2=
boolVal3=
boolVal4=
sizeof(int) 为4个字节
sizeof(short int) 为2个字节
sizeof(long int) 为8个字节
sizeof(float) 为4个字节
sizeof(double) 为8个字节
sizeof(char) 为1个字节
sizeof(bool) 为1个字节

相关文章