基本数据类型

C语言中每个变量都有特定的数据类型,每种不同的数据类型又需要不同的内存来管理。

下面是C语言中最基本的4种数据类型:

  • char: C语言中最基本的数据类型,在大多数编译器中占1个字节,即 1 byte
  • int: 见名知意,只能存储整型
  • float: It is used to store decimal numbers (numbers with floating point value) with single precision. 存储单精度的十进制小数。
  • double:存储双精度。

不同的数据类型存储值的范围也不同,这个范围会随着编译器的不同而不同,下图展示的是32位gcc编译器不同数据类型的存储范围:

既然不同数据类型在不同的平台上会有所差异,那么如何知道自己的电脑,各种数据类型的实际内存占有情况呢?

C语言提供了一个方法: sizeof()

#include <stdio.h> 
int main() 
{ 
    int a = 1; 
    char b ='G'; 
    float d = 2.1;
    double c = 3.14; 
    printf("Hello World!\n"); 

    //printing the variables defined above along with their sizes 
    printf("Hello! I am a character. My value is %c and "
           "my size is %lu byte.\n", b,sizeof(char)); 
    //can use sizeof(b) above as well 

    printf("Hello! I am an integer. My value is %d and "
           "my size is %lu  bytes.\n", a,sizeof(int)); 
    //can use sizeof(a) above as well 
    printf("Hello, 我是单精度数据:%f, 占用内存大小:%lu\n", d, sizeof(float)); 
    printf("Hello! I am a double floating point variable."
           " My value is %lf and my size is %lu bytes.\n",c,sizeof(double)); 
    //can use sizeof(c) above as well 

    printf("Bye! See you soon. :)\n"); 

    return 0; 
}
Hello World!
Hello! I am a character. My value is G and my size is 1 byte.
Hello! I am an integer. My value is 1 and my size is 4  bytes.
Hello, 我是单精度数据:2.100000, 占用内存大小:4
Hello! I am a double floating point variable. My value is 3.140000 and my size is 8 bytes.
Bye! See you soon. :)

results matching ""

    No results matching ""