Conceptos básicos de entrada de C++ Capítulo 03 (funciones, matrices)

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;
}

Supongo que te gusta

Origin blog.csdn.net/qq_43036676/article/details/99866985
Recomendado
Clasificación