1数组
// 1.普通声明和初始化
int nums[3] = {25, 65, 4};// 2.只声明
int num[3]; // 这样数组里的元素值是未知的
// 3.只声明,然后赋值
int num[3];
num[0] = 1;
num[1] = 34;
num[2] = 9;
// 4.文艺青年的初始化
int nums[3] = {89}; // 第0个元素赋值为89,其他默认为0
int nums[3] = {}; // 所有元素的值都为0
// 5.非主流青年的初始化
int nums[] = {1,2,3,4,5}; // 不指定大小,由后面的赋值内容决定数组大小,书上说不推荐,我本人不评价~
// 6.新人类的初始化(C++11)
int nums[3] {1, 2, 3}; // 省略了等号
2字符串
// 1.聪明人的初始化
char name[] = "mutou";
// 2.笨蛋的初始化
char name[6] = "mutou";
// 3.蛇精病的初始化
char name[6] = {'m', 'u', 't', 'o', 'u', '\0'};
// 1.先声明,再初始化
std::string name;
name = "mutou";
// 2.声明和初始化
std::string name = "mutou";
// 3.复制其他字符串内容
std::string name1 = "mutou;
std::string name2 = "hello";
name1 = name2; // 此时name1为"mutou"
name2 = "nihao"; // 此时name2为"nihao",name1仍然为"mutou"
// 4.连接字符串
std::string name = "mutou";
name += "hehe";
3原始字符串
std::string name1 = R"("mutou")";
std::string name2 = R"*(("mutou"))*";
std::cout << name1.c_str() << "\n";
std::cout << name2.c_str() << "\n";
4结构体
// 定义
struct BadMan
{
char name[]; // 也可以使用 std::string name; 但可能有些编译器不支持
int age;
long money;
};
// 使用
BadMan man1 =
{
"mutou",
18,
99999999
};
man1.money = 88888888;
5共用体
union ManyOne
{
int age;
long money;
float girl;
};
ManyOne mOne;
mOne.age = 25;
std::cout << mOne.age << "\n\n";
mOne.money = 999990;
std::cout << mOne.age << "\n";
std::cout << mOne.money << "\n";