数组的声明,初始化
int main() {
int enemyHp[10];
enemyHp[0] = 100;
enemyHp[1] = 150;
enemyHp[2] = 000;
enemyHp[5] = 500;
enemyHp[9] = 900;
cout << "0:" << enemyHp[0] <<endl; // 100
cout << "5:" << enemyHp[5] << endl; // 500
cout << "8:" << enemyHp[8] << endl; // 没有进行初始化,随机数值
}
- 数组的多种初始化方式
int enemyHp[10]={0,100,200,300,400,500,600,700,800,900};
int enemyHp[]={0,100,200,300,400,500,600,700,800,900}; //不设定长度,会根据后面数据的个数,来确定数组长度
- 数组的遍历
int enemyHp[10]={0,100,200,300,400,500,600,700,800,900};
for(int i = 0;i < 10;i++)
{
cout<<enemyHp[i]<<endl;
}
- 字符串数组
char cArray[10] = { 'a','b','c', ' ',' ','j' };
string strArray[10] = { "丁","大","嘴"," "," ","一","二" };
// 字符串数组默认值为空字符串 而不是NULL
指针
int main() {
int a = 234;
int b = 345;
string str = "abcderfdas";
int* pA;//指针的定义 int * pA; int *pA;
pA = &a;//指针的赋值 &取地址符
cout <<"pA = &a 之后pA所指向的地址:"<< pA << endl; //输出一个8位的16进制地址
pA = &b;//修改指向
cout <<"pA = &b 之后 pA所指向的地址:"<< pA << endl;
cout <<"pA = &b 之后 pA指针所指向的内存地址所存储的数据:"<< *pA << endl;//*pA取得pA存储的地址里面的数据 *取得后面的(指针)内存地址所指向的数据(所存储的数据)
*pA = 300;//b=300; 修改指针所指向的内存地址所存储的数据,不会修改地址
cout <<"*pA = 300 之后 pA指针所指向的内存地址所存储的数据:"<< *pA << endl;
cout <<"*pA = 300 之后pA所指向的地址:"<< pA << endl;
}
void* p1;//空的类型的指针,可以指向任何类型的变量
引用类型
int main() {
int a = 200;
int b = 300;
int& r1 = a;
cout << r1 << ":" << a << endl; //输出内容 200:200
r1 = b;//这里相当于a = b;对引用类型赋值相当于修改原变量
cout << r1 << ":" << a << endl;//输出内容 200:300
}
引用类型的应用,使函数拥有多个返回值
void change(int& Ra, int& Rb) { //将方法设置为引用类型
Ra = 2000;//这里对Ra进行赋值 实际上是对main函数里的a进行赋值.
Rb = 3000;//这里对Rb进行赋值 实际上是对main函数里的b进行赋值.
}
int main() {
int a = 0;
int b = 0;
change(a,b);
cout << a << ":" << b << endl;
}