- 东明张展奕's blog
数据类型
- 2024-3-2 11:03:59 @
数据类型
基本类型
-
整型:用于表示整数,如
int
、short
、long
等。 -
浮点型:用于表示带小数部分的数值,如
float
、double
等。 -
字符型:用于表示单个字符,如
char
。 -
布尔型:用于表示逻辑值,只能取
true
或false
。整型:
-
int
:通常占用 4 个字节(32 位),范围为 -2147483648 到 2147483647。 -
short
:通常占用 2 个字节(16 位),范围为 -32768 到 32767。 -
long
:通常占用 4 个字节(32 位),范围与int
类似,但取决于平台,有时会更大。 -
long long
:通常占用 8 个字节(64 位),范围为 -9223372036854775808 到 9223372036854775807。
浮点型:
float
:通常占用 4 个字节(32 位),范围为约 ±3.4e-38 到 ±3.4e38,精度为约 6-7 位小数。double
:通常占用 8 个字节(64 位),范围为约 ±1.7e-308 到 ±1.7e308,精度为约 15-16 位小数。long double
:通常占用 12 或 16 个字节,范围和精度比double
更大,具体取决于编译器和平台。
复合类型
C++中的复合数据类型是由基本类型或其他复合数据类型组成的类型,包括数组,指针,引用和结构体。每种复合数据类型在内存中的存储方式和大小都有所不同,以下是C++中常见的复合数据类型及其特点:
数组:
- 数组是由相同类型的元素组成的集合。
- 数据的大小在创建时就确定,并且在整个生命周期中保持不变
- 访问数组元素时,可以使用下标(索引)来访问特定位置的元素。
指针:
- 指针是存储其他变量内存地址的变量。
- 指针可以指向任何数据类型的变量,甚至可以指向函数。
- 通过指针,可以直接访问或修改指向变量的值。
引用:
- 引用为变量取一个别名,用于简化代码和提高效率。
- 引用在创建时,必须初始化,并且一旦引用被初始化后,就不能再引用其他变量。
结构体:
- 结构体是用户自定义的数据类型,用于将不同类型的数据组合在一起形成一个新的数据类型。
- 结构体的成员可以包括基本数据类型,复合数据类型甚至其他结构体。
有n个数,经行排序,之后输出原来位置
例题
结构体
#include<bits/stdc++.h>
using namespace std;
struct st
{
int idx;
int v;
};
st a[114514];
bool cmp(struct st a, struct st b)
{
return a.v > b.v;
}
int main()
{
int n;
cin >> n;
for(int i = 1; i<= n; i ++)
{
a[i].idx = i;
cin >> a[i].v;
}
sort(a + 1,a + n + 1,cmp);
for(int i = 1; i <= n; i ++)
{
cout << a[i].idx << endl;
}
return 0;
}