12、C++中数组初始化的特点
初始话数组可以省略等号;初始话内容为空;不可缩窄操作
double people {A,B,C};
double people {};
int number { 1,20,3.0} //不通过,因为浮点到整形为缩窄
13、sizeof()计算数组时候会比strlen()多计算一个0字节
14、字符串的初始化和赋值,string 类型可以直接赋值;字符串拼接可以直接相加
char number {"12345678"};
string number {"12345678"};
string number2 =number;
number3=number+number2;
15、C++中的结构体可以省略 struct
//结构体定义
struct inflatable
{
char name[20];
float volume;
double price;
};
//结构体的使用
inflatable a =
{
"xiaoming";
1.88;
29.99
};
//定义结构体的同时声明变量
struct perks
{
int key_number;
char car[12];
} mr_A,mr_B;
//定义结构体 ,声明变量并赋值
struct perks
{
int key_number;
char car[12];
} mr_A=
{
1,
“xiaoming”
};
结构体中的位字段,制定占用特定的位数
struct register
{
unsigned int SN :4;
unsigned int :4;
bool goodIn:1;
bool goodTorge:1;
}
16、共用体,整体与结构体比较类似,但是结构体内部各个数据各自使用单独的内存空间,而共用体内的所有数据公用一个内存空间,空间为满足最大变量存储为准。
union one4all
{
int int_val;
long long_val;
double double_val;
}
one4all a;
a.int_val = 1;
cout << "a.int 1:" << a.int_val << endl;
a.double_val = 2;
cout << "a.int 2:" << a.int_val << endl;
cout << "a.double 2:" << a.double_val << endl;
a.long_val = 0;
cout << "a.int 3:" << a.int_val << endl;
cout << "a.double 3:" << a.double_val << endl;
cout << "a.long 3:" << a.long_val << endl;