1.数组
- 定义数组(type/数组类型,name/数组变量名,i/数组成员数)
type name[i];
- 赋值
1. 用循环语句给数组内元素赋值
2. int name[3] = {1,2,3};
3. int name[] = {1,2,3} // 只能在声明变量时使用,编译器根据花括号内成员数量自动创建与之长度匹配的数组
2.指针
- 地址
创建变量时,系统会分配一些内存块来保存它们的值,每个内存块都有独一无二的地址,可以把变量的地址赋值给一种称为指针的变量
- 定义(type/指针类型,pointerName/指针变量名)
指针的类型必须与其地址保存的变量的类型一致
type* pointerName;
type *pointerName;
type* pointerName1,pointerName2(注意:此时pointerName2的类型是type,而非type类型的指针)
int myInt = 904;
int* myPointer;
myPointer = &myInt; // 将myInt的地址赋值给指针myPointer
- *pointerName 在指针变量前加一个星号可以调用其地址保存变量的值
- 指针与数组
数组被保存在一组连续的内存块中,数组的变量名同时也是指向其地址(首元素的地址)的指针
int arr[] = {1,2,3};
int* pointerName1 = &arr[0];
int* pointerName2 = arr;
std::cout << (pointerName1 == pointerName2) << endl; // 输出为1(非零为正),两个指针表示的地址相同
std::cout << *pointerName1 + 1; // 输出为2,访问数组第二个元素只需要 *指针+1
struct People
{
string Name;
int Age;
};
People me = {"xiaoming",20};
People* myself = &me;
std::cout << me.Name << endl; // 等同于 myself->Name;
3.结构体(易语言中的自定义数据类型)
- 定义(type/自定义的结构体的名称/结构体中变量1的类型/变量2的类型,)
struct type
{
type variable;
type variable2;
};
- 使用
struct tPeople
{
string Name;
int Age;
};
tPeople me = {"Danni",20};
std::cout << me.Name << endl; // 输出Danni
std::cout << me.Age << endl; // 输出20
4.枚举(个人理解:一个常量组)
- 定义(它是由用户定义的若干枚举常量的集合)
enum color
{
red,
green, //可以在定义是赋值 green=5(这样green就变成5,默认是下标数;现在red还是0,blue是6)
blue
};
- 使用
enum emColor
{
red = 100,
green = 200,
blue = 300
};
emColor emRed = red;
emColor emBlue = blue;
std::cout << emRed << endl; // 输出100
std::cout << emBlue << endl; // 输出300
网友评论