C学习-数据类型

C学习一数据类型 - 图1
inex


1. 图解

1.1 简单分层

C学习一数据类型 - 图2

1.2 长度定义

C学习一数据类型 - 图3
像是 long long int 这种是C99 后来的补充,C语言中并没有规定一个 int 到底要占用多少个字节。只是规定
short int <= int <= long int <= long long int
类似于这样的规定 决定了 C语言的发展。它并不是将长度限定C。 操作系统的位数对一个计算机的应用程序来说,是一个很重要的概念。

1.3 sizeof

C学习一数据类型 - 图4

  • 注意,在c中 sizeof 是一个运算符,它并不是一个函数。我们用这个运算符来确定 我们定义的变量或其他 占用的空间大小
  • DEMO- 1 演示
  1. #include <stdio.h>
  2. int main()
  3. {
  4. int i = 123;
  5. char j = 'A';
  6. float m = 3.14;
  7. double n = 3.1415926;
  8. printf("size of int: %d\n",sizeof(int));
  9. printf("size of int: %d\n",sizeof(char));
  10. printf("size of int: %d\n",sizeof(float));
  11. printf("size of int: %d\n",sizeof(double));
  12. printf("--------------------------------\n");
  13. printf("size of int: %d\n",sizeof i);
  14. printf("size of int: %d\n",sizeof j);
  15. printf("size of int: %d\n",sizeof m);
  16. printf("size of int: %d\n",sizeof n);
  17. return 0;
  18. }
  • DEMO -1 result
    C学习一数据类型 - 图5
  • DEMO- 2演示
  1. #include <stdio.h>
  2. ![fb5bf25355291fcaf8452d849df38cff.png](en-resource://database/4058:1)
  3. int main()
  4. {
  5. printf("字节占用情况 short int = %d\n",sizeof(short int));
  6. printf("字节占用情况 int = %d\n",sizeof(int));
  7. printf("字节占用情况 long = %d\n",sizeof(long));
  8. printf("字节占用情况 long int = %d\n",sizeof(long int));
  9. printf("字节占用情况 long long int = %d\n",sizeof(long long int));
  10. printf("字节占用情况 float = %d\n",sizeof(float));
  11. printf("字节占用情况 double = %d\n",sizeof(double));
  12. printf("字节占用情况 long double = %d\n",sizeof(long double));
  13. printf("字节占用情况 char = %d\n",sizeof(char));
  14. printf("字节占用情况 _Bool = %d\n",sizeof(_Bool));
  15. //printf("字节占用情况 enum = %d\n",sizeof(enum));
  16. return 0;
  17. }
  • DEMO -2result
    C学习一数据类型 - 图6