C++数据类型

数据是编程中非常重要的一个概念,数据有不同的类型, 类型决定了数据如何存储以及如何操作这个数据。

1 基本类型

基本类型是最基本的数据类型, 是由C++标准库进行开发和支持的,由基本类型可以扩展出其他更复杂的复合类型。
基本类型包括int, float, double, char, 以及通过一个或多个类型修饰符(long, short, signed, unsigned)进行修饰知之后的类型。

2 复合类型

复合类型是由基本类型扩展而来, 是为了更方便和高效地组织数据而产生的。

2.1 数组

数组可以存放多个同类型的数据, 包括一维数组和多维数组。

int arr[10];  //包含10个int型数据的集合
double arr1[10]; //包含10个double型数据的集合

2.2 结构体(struct)

数组只能存放同类型的数据, 而结构体可以存放不同类型的数据,当然它也可以存放同类型数据, 只是不如数组简单和高效。

2.2.1 定义

结构体通过struct 关键字来进行定义。 如

struct Book {
	string author;
	int page;
	double prices;
} book;   //注意分号不可少

其中Book是结构体类型名称, book是定义的一个结构体类型的变量。 其实就类似于类的实例化。 当然在定义结构体时也可以先不实例化一个变量, 等要用到的地方的在定义。

struct Book {
	string author;
	int page;
	double prices;
};
Book book;

2.2.2 访问

访问结构体的成员可以通过.操作符来实现。 如想要方位author这个成员可以通过book.author来实现。

2.2.3 指向结构体的指针

struct Book *struct_pointer=&book;

上面定义了一个指向结构体的指针, 注意定义时也需要使用struct关键字。
通过指针访问结构体的成员需要使用->操作符来实现。如struct_point->author

2.3 延伸介绍typedef

typedef是type define的简写, 作用其实就是给类型起个别名。
定义复合类型时, 通常比较冗长, 如上面定义结构体指针时, 每次都要带着struct关键字,采用typedef可以写的更简洁一些。

typedef struct Book Book; //之后就可以用Book来代替 struct Book了。 这里别名跟之前名字相同, 当然也可以不同

Book *struct_pointer=&book;

上面实际上是先声明好了, 再用typedef进行改名,实际上可以在声明时直接就起别名。

typedef struct Book {
	string author;
	int page;
	double prices;
}Book;

跟上面的效果是一样的, 只不过这么写就一步到位了。

typedef不仅限于用在结构体中, 其他地方也是可以用的。 如

typedef long int *pint32;
pin32 x, y;  //x,y 都是long int型的指针
typedef  int my_int;  //my_int 就代表了int
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值