c语言线程编译要加什么(用CC测试编译器中关键字占多少个字节)

  • 用C语言测试自己编译器所占字节的大小,代码实现如下:

#include<stdio.h>

#include<climits>

#include<float.h>

int main()

{

int* p;

printf("char = %d\n", sizeof(char));

printf("signed char = %d\n", sizeof(signed char));

printf("unsigned char = %d\n", sizeof(unsigned char));

printf("short = %d\n", sizeof(short));

printf("signed short = %d\n", sizeof(signed short));

printf("unsigned short = %d\n", sizeof(unsigned short));

printf("int = %d\n", sizeof(int));

printf("signed int = %d\n", sizeof(signed int));

printf("unsinged int = %d\n", sizeof(unsigned int));

printf("float = %d\n", sizeof(float));

printf("double = %d\n", sizeof(double));

printf("long = %d\n", sizeof(long));

printf("signed long = %d\n", sizeof(signed long));

printf("unsigned long = %d\n", sizeof(unsigned long));

printf("longlong = %d\n", sizeof(LONGLONG));

printf("p = %d\n", sizeof(p));

return 0;

  • 再来看一下每个关键字的最大值

#include<iostream>

#include<climits>

using namespace std;

int main()

{

char n_char = CHAR_MAX;

char n_schar = SCHAR_MAX;

char n_uchar = UCHAR_MAX;

short n_short = SHRT_MAX;

short n_ushort = USHRT_MAX;

int n_int = INT_MAX;

unsigned int n_uint = UINT_MAX;

float n_float = FLT_MAX;

float n_maxfloat = FLT_MANT_DIG;

float n_10float = FLT_MAX_10_EXP;

long n_long = LONG_MAX;

long n_Ulong = ULONG_MAX;

long long n_llong = LLONG_MAX;

long long n_ullong = ULLONG_MAX;

cout << "max value is :" << endl;

cout << "char is:" << n_char << endl;

cout << "usigned char is:" << n_schar << endl;

cout << "unsigned char is:" << n_uchar << endl;

cout << "int is:" << n_int << endl;

cout << "unsigned int is:" << n_uint << endl;

cout << "short is:" << n_short << endl;

cout << "unsigned short is:" << n_ushort << endl;

cout << "folat is :" << n_float << endl;

cout << "numbers of float is:" << n_maxfloat << endl;

cout << "float 10_exp is:" << n_10float << endl;

cout << "long is:" << n_long << endl;

cout << "unsigned long is:" << n_Ulong << endl;

cout << "long long is:" << n_llong << endl;

cout << "unsigned long long is:" << n_ullong << endl;

return 0;

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51

运行结果:

c语言线程编译要加什么(用CC测试编译器中关键字占多少个字节)(1)

因为char没有最大值,所以这里没有输出结果!

  • 每个关键字的最小值

#include<iostream>

#include<climits>

using namespace std;

int main()

{

short n_short = SHRT_MIN;

int n_int = INT_MIN;

float n_float = FLT_MIN;

float n_10float = FLT_MIN_10_EXP;

long n_long = LONG_MIN;

long long n_llong = LLONG_MIN;

cout << "min value is :" << endl;

cout << "int is:" << n_int << endl;

cout << "short is:" << n_short << endl;

cout << "folat is :" << n_float << endl;

cout << "float 10_exp is:" << n_10float << endl;

cout << "long is:" << n_long << endl;

cout << "long long is:" << n_llong << endl;

return 0;

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

运行结果:

c语言线程编译要加什么(用CC测试编译器中关键字占多少个字节)(2)

  • 有关每一个字节的取值范围如下:
  • 1、char:表示字符型数据,占1个字节(8个二进制位),包含256个不同的整数。
  • 有符号的范围: -128 ~ 127。每个整数都对应一个字符。整数和字符的对应关系由ASCII码表规定。
  • 无符号的范围:0 ~ 255。
  • 1
  • 2
  • 3
  • 4

2、short:表示短整型数据,一般占2个字节(16个二进制位)。

有符号的范围:-32768 ~ 32767。

无符号的范围0到65535。

  • 1
  • 2
  • 3
  • 4

3、int:表示基本整型数据,一般占4个字节(32个二进制位)。

有符号的范围:-2147483648 ~ 2147483647。

无符号的范围:0 ~ 4294967295。

  • 1
  • 2
  • 3
  • 4

4、long:表示长整型数据,一般占4个字节(32个二进制位)。

有符号的范围:-2147483648 ~ 2147483647。

无符号的范围:0 ~ 4294967295。

  • 1
  • 2
  • 3
  • 4

5、float:表示单精度浮点型数据,一般占4个字节(32个二进制位,1bit(符号位) 8bits(指数位) 23bits(尾数位))。

范围:-3.40E 38 ~ 3.40E 38

精度:6 ~ 7位有效数字

  • 1
  • 2
  • 3
  • 4

6、double:表示双精度浮点型数据,一般占8个字节(64个二进制位,1bit(符号位) 11bits(指数位) 52bits(尾数位))。

范围:-1.79E 308 ~ 1.79E 308

精度:15 ~ 16位有效数字

  • 1
  • 2
  • 3
  • 4

7、unsigned:表示无符号数据。

8、signed:表示有符号数据,默认不用写。

  • 另外,我将不同位平台下关键字所占的字节的链接贴在下面:
  • https://blog.csdn.net/cherrydreamsover/article/details/81022994

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页