Code前端首页关于Code前端联系我们

常见数据类型及其应用:从基础类型到自定义类型

terry 2年前 (2023-10-01) 阅读数 212 #c++
文章标签 navicatmysqllinux

在C++编程语言中,变量的类型决定了所存储数据的形式和范围,不同的数据类型可以存储不同类型的数据,具有不同的使用方式和限制。C++的数据类型可以分为基础类型和自定义类型两种。

一、基础类型

1、整型

整型是C++中最常见的数据类型之一,用于表示整数,可以分为有符号和无符号整型。有符号整型可以表示正数、负数和零,无符号整型只能表示零和正数。C++中的整型类型包括:short、int、long、long long以及它们的无符号版本:unsigned short、unsigned int、unsigned long、unsigned long long。其中,short类型通常占用2个字节,int类型占用4个字节(但具体实现与平台相关),long类型占用4个字节,long long类型占用8个字节。

// 整型示例代码
int main() 
{
    short s = 1;
    int i = 2147483647;
    long l = 2147483647;
    long long l1 = 9223372036854775807;
    unsigned short us = 65535;
    unsigned int ui = 4294967295;
    unsigned long ul = 4294967295;
    unsigned long long ul1 = 18446744073709551615;
    return 0;
}

2、浮点型

浮点型用于表示实数,可以分为单精度浮点型(float)和双精度浮点型(double),其中,float类型占用4个字节,能表示的精度约为7位小数;double类型占用8个字节,精度约为16位小数。

// 浮点型示例代码
int main()
{
    float f = 3.1415926f;
    double d = 3.14159265358979323846;
    return 0;
}

3、布尔型

布尔型只有两个取值:true和false。在C++中,布尔型通常占用1个字节。

// 布尔型示例代码
int main()
{
    bool b1 = true;
    bool b2 = false;
    return 0;
}

4、字符型

字符型用于表示单个字符,通常占用1个字节。不同的编码方式(如ASCII码、Unicode等)决定了可表示的字符集和编码方式。

// 字符型示例代码
int main()
{
    char c1 = 'A';
    char c2 = 65; // ASCII码值为65表示字符'A'
    return 0;
}

二、自定义类型

除了基础类型,C++还提供了自定义类型的机制,允许程序员根据实际需要定义具有特定属性和行为的类型。

1、结构体

结构体是一种自定义类型,允许将不同类型的数据组织在一起形成一个单独的数据类型。结构体通常包含一个或多个成员变量,每个成员变量可以有自己的数据类型,结构体的成员变量可以是基础类型、自定义类型、数组等,可以根据需要定义为有符号或无符号类型。我们可以通过结构体来定义集合类型,表示抽象的或物理上相关联的实体。

// 结构体示例代码
#include <iostream>
using namespace std;
struct Student 
{
    int id; // 学号
    char name[10]; // 姓名
    int age; // 年龄
    float score; // 成绩
};

int main()
{
    Student s = { 1001, "张三", 20, 90.5f };
    cout << "学号:" << s.id << endl;
    cout << "姓名:" << s.name << endl;
    cout << "年龄:" << s.age << endl;
    cout << "成绩:" << s.score << endl;
    return 0;
}

2、枚举类型

枚举类型是一种自定义类型,用于定义一组离散的取值(枚举值),通常用于代表程序中的某些状态、选项或者整数常量等。枚举类型可以被赋予默认值,也可以在后续代码中重新赋值。

// 枚举类型示例代码
#include <iostream>
using namespace std;
enum Week { Sunday = 0, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; 
int main()
{
    Week day = Monday;
    cout << "day = " << day << endl; // 输出结果为1
    return 0;
}

3、typedef

typedef可以为一个类型定义一个新的别名,可以使代码更加易读易懂。常用于为复杂类型定义简短、易读的名称,提高了代码的可读性,并且易于维护和修改。

// typedef示例代码
#include <iostream>
using namespace std;
typedef int integer;
int main()
{
    integer i = 123;
    cout << "integer i = " << i << endl;
    return 0;
}

4、指针类型

指针类型也是一种自定义类型,它可以存储指向其他类型的变量的内存地址。在C++中,使用指针可以进行动态内存分配、实现复杂的数据结构以及优化程序性能等。

// 指针类型示例代码
#include <iostream>
using namespace std;
int main()
{
    int i = 123;
    int *p = &i; // 定义一个指向int类型变量的指针
    cout << "i = " << i << endl;
    cout << "*p = " << *p << endl;
    *p = 456; // 修改指向的变量的值
    cout << "i = " << i << endl;
    cout << "*p = " << *p << endl;
    return 0;
}

总之,C++提供了丰富的数据类型和自定义机制,使得程序员可以根据实际需要定义合适的数据类型,提高程序的可读性、可扩展性和可维护性。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门