最全面、最前沿、最专业的游戏研发实战

提供最全面的游戏研发技能分享,让您在最短时间变成高级游戏工程师

查看:0|回复:0

【】C语言数据类型总结

 attach_img

0

帖子

0

回复

0

积分
最后登录:
1970-01-01 08:00
注册时间:
2023-03-12 21:55
楼主
  发表于:2025-02-07 22:24:27|查看用户信息

C语言中的数据类型用于定义变量的类型和大小。C语言的数据类型可以分为以下几类:

1. 基本数据类型(Primary Data Types)

C语言的基本数据类型包括:

(1) 整数类型(Integer Types)

  • 用于存储整数值。

  • 分为有符号(signed)和无符号(unsigned)两种。

  • 常见类型:

    • int:通常为4字节(32位),范围:-2,147,483,648 到 2,147,483,647

    • short:通常为2字节(16位),范围:-32,768 到 32,767

    • long:通常为4字节或8字节(32位或64位),范围更大。

    • long long:通常为8字节(64位),范围更大。

    • unsigned int:无符号整数,范围:0 到 4,294,967,295

int a = 10;
unsigned int b = 40000;
short c = 100;
long d = 1000000;


(2) 浮点类型(Floating-Point Types)

  • 用于存储小数或实数。

  • 常见类型:

    • float:单精度浮点数,通常为4字节,精度约6-7位小数。

    • double:双精度浮点数,通常为8字节,精度约15位小数。

    • long double:扩展精度浮点数,通常为10字节或更多。

float f = 3.14f;
double d = 3.1415926535;
long double ld = 3.141592653589793238L;


(3) 字符类型(Character Type)

  • 用于存储单个字符。

  • char:通常为1字节(8位),范围:-128 到 127 或 0 到 255(无符号)。

char ch = 'A';


(4) 无类型(Void Type)

  • void:表示无类型,通常用于函数返回值或指针。

void function() {
    // 无返回值
}


2. 派生数据类型(Derived Data Types)

派生数据类型是基于基本数据类型构建的,包括:

(1) 数组(Array)

  • 用于存储相同类型的多个元素。

int numbers[5] = {1, 2, 3, 4, 5};

(2) 指针(Pointer)

  • 用于存储变量的内存地址。

int a = 10;
int *p = &a;  // p指向a的地址

(3) 函数(Function)

  • 函数是一种派生类型,用于封装代码。

int add(int a, int b) {
    return a + b;
}

(4) 结构体(Structure)

  • 用于将不同类型的数据组合在一起。

struct Person {
    char name[50];
    int age;
};

(5) 联合体(Union)

  • 类似于结构体,但所有成员共享同一块内存。

union Data {
    int i;
    float f;
    char ch;
};


3. 枚举类型(Enumeration Type)

  • 用于定义一组命名的整数常量。

enum Weekday {Monday, Tuesday, Wednesday, Thursday, Friday};
enum Weekday today = Wednesday;


4. 类型修饰符(Type Modifiers)

C语言提供了一些修饰符来改变数据类型的含义:

  • signed:表示有符号数(默认)。

  • unsigned:表示无符号数。

  • short:缩短数据类型的大小。

  • long:扩展数据类型的大小。

unsigned int x = 40000;
long double y = 3.141592653589793238L;


5. 数据类型的大小

数据类型的大小可能因编译器和平台而异。可以使用sizeof运算符查看数据类型的大小。

printf("Size of int: %lu bytes\n", sizeof(int));
printf("Size of float: %lu bytes\n", sizeof(float));
printf("Size of double: %lu bytes\n", sizeof(double));


6. 类型转换

C语言支持隐式和显式类型转换:

  • 隐式转换:编译器自动完成。

  • 显式转换:使用强制类型转换运算符。

int a = 10;
float b = (float)a;  // 显式转换


总结

C语言的数据类型包括基本类型(如intfloatchar)、派生类型(如数组、指针、结构体)以及枚举类型。理解这些数据类型是编写C程序的基础。


0

帖子

0

回复

0

积分
最后登录:
1970-01-01 08:00
注册时间:
1970-01-01 08:00
会员必须登录才能发布帖子! 点击登录