C 语言笔记2 - 数据类型

C语言基本数据类型

1. 整型(Integer Types)

  • char:字符型,用于存储单个字符,也可以作为小整数使用
    • signed char:有符号字符型
    • unsigned char:无符号字符型
  • short:短整型
    • signed short(或 short):有符号短整型
    • unsigned short:无符号短整型
  • int:整型
    • signed int(或 int):有符号整型
    • unsigned int:无符号整型
  • long:长整型
    • signed long(或 long):有符号长整型
    • unsigned long:无符号长整型
  • long long:长长整型(C99 标准引入)
    • signed long long(或 long long):有符号长长整型
    • unsigned long long:无符号长长整型

2. 浮点型(Floating-Point Types)

  • float:单精度浮点型
  • double:双精度浮点型
  • long double:长双精度浮点型

3. 空类型(Void Type)

  • void:空类型,表示“没有类型”。主要用于以下三种情况:
    • 函数返回类型:表示函数不返回任何值
    • 函数参数列表:表示函数不接受任何参数
    • 指针类型:void * 表示通用指针,可以指向任何类型的数据

使用 C 语言输出数据类型的大小和范围:

代码:

#include <stdio.h>
#include <limits.h>
#include <float.h>

int main() {
    printf("数据类型\t字节大小\t最小值\t\t最大值\n");
    printf("----------------------------------------------------------\n");

    printf("char\t\t%zu\t\t%d\t\t%d\n", sizeof(char), CHAR_MIN, CHAR_MAX);
    printf("signed char\t%zu\t\t%d\t\t%d\n", sizeof(signed char), SCHAR_MIN, SCHAR_MAX);
    printf("unsigned char\t%zu\t\t%d\t\t%d\n", sizeof(unsigned char), 0, UCHAR_MAX);
    printf("short\t\t%zu\t\t%d\t\t%d\n", sizeof(short), SHRT_MIN, SHRT_MAX);
    printf("unsigned short\t%zu\t\t%d\t\t%d\n", sizeof(unsigned short), 0, USHRT_MAX);
    printf("int\t\t%zu\t\t%d\t\t%d\n", sizeof(int), INT_MIN, INT_MAX);
    printf("unsigned int\t%zu\t\t%u\t\t%u\n", sizeof(unsigned int), 0, UINT_MAX);
    printf("long\t\t%zu\t\t%ld\t\t%ld\n", sizeof(long), LONG_MIN, LONG_MAX);
    printf("unsigned long\t%zu\t\t%lu\t\t%lu\n", sizeof(unsigned long), 0, ULONG_MAX);
    printf("long long\t%zu\t\t%lld\t%lld\n", sizeof(long long), LLONG_MIN, LLONG_MAX);
    printf("unsigned long long\t%zu\t%llu\t%llu\n", sizeof(unsigned long long), 0, ULLONG_MAX);
    printf("float\t\t%zu\t\t%E\t%E\n", sizeof(float), FLT_MIN, FLT_MAX);
    printf("double\t\t%zu\t\t%E\t%E\n", sizeof(double), DBL_MIN, DBL_MAX);
    printf("long double\t%zu\t\t%LE\t%LE\n", sizeof(long double), LDBL_MIN, LDBL_MAX);
    printf("void *\t\t%zu\n", sizeof(void *));

    return 0;
}

Windows 64 位系统输出结果

数据类型        字节大小        最小值          最大值
----------------------------------------------------------
char            1               -128            127
signed char     1               -128            127
unsigned char   1               0               255
short           2               -32768          32767
unsigned short  2               0               65535
int             4               -2147483648             2147483647
unsigned int    4               0               4294967295
long            4               -2147483648             2147483647
unsigned long   4               0               4294967295
long long       8               -9223372036854775808    9223372036854775807
unsigned long long      8       0       18446744073709551615
float           4               1.175494E-38    3.402823E+38
double          8               2.225074E-308   1.797693E+308
long double     16              3.362103E-4932  1.189731E+4932
void *          8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值