1. Matriz
PD: VS2019 no admite la longitud de la matriz como variable (algunos compiladores son factibles)
Ejemplo de declaración de matriz:
const int n = 100;
int num[n];
1. Definición de matriz:
int num[] = { 192,12,'k',true };
PD: El código anterior parece mezclar muchos tipos y parece informar un error, pero en realidad no es así, la razón es que en C ++, los tipos de caracteres y los tipos bool están representados por números enteros.
2. Inicialice la matriz unidimensional:
Las siguientes son cinco formas de inicializar una matriz unidimensional:
int years[6] = { 2012,2013,2014 };
int months[12] = { 1,3,5,7,8,10,12 };
int days[] = { 1,15 };
int mydate[]{ 1,15 };
float what[100]{};
Para resumir:
1) Los elementos no asignados se completan e inicializan automáticamente a 0
2) La longitud definida por la matriz no puede ser menor que el valor del elemento
2. Función
1. Método de transferencia
1) Transferencia de valor
//定义函数,实现两个数字进行交换函数
void swap(int num1, int num2)
{
cout << "交换前:" << endl;
cout << "num1 = " << num1 << endl;
cout << "num2 = " << num2 << endl;
int temp = num1;
num1 = num2;
num2 = temp;
cout << "交换后:" << endl;
cout << "num1 = " << num1 << endl;
cout << "num2 = " << num2 << endl;
}
int main(){
int num1 = 15;
int num2 = 24;
swap(num1, num2);
cout << num1 << " " << num2 << endl;
}
Resultado de salida:
交换后:
num1 = 24
num2 = 15
15 24
PD: Cuando transferimos por valor, los parámetros formales de la función cambian, lo que no afectará los parámetros reales.
2) Pasar por referencia
void MySwap03(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
cout << "MySwap03 引用传递" << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
}
3) paso del puntero
void MySwap02(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
cout << "MySwap02 地址传递" << endl;
cout << "a = " << *a << endl;
cout << "b = " << *b << endl;
}