La estación C es la más fácil para comenzar y le enseña cómo aprender arreglos a mano

1. Creación e inicialización de arreglos unidimensionales

crear: Tome una matriz de enteros como ejemplo

	int arr[5] = {
    
     1,2,3,4,5 };

La forma es así, arrpara el nombre de la matriz creada
[5], la matriz interna es el número de elementos de la matriz,
intlo que indica que el tipo de los elementos de la matriz es un tipo entero
inicialización

	int arr[5] = {
    
     1,2,3,4,5 };
	这种是把数组里面的元素全部初始化,并且指定了数组元素的个数
	int arr1[] = {
    
     1,2,3,4,5 };
	这种没有指定数组的个数,数组的元素的个数根据后面大括号里面的个数确定
	int arr2[5] = {
    
     1,2 };
	这种指定了数组元素的大小却没有完全初始,
	前面两个元素分别被初始化为12后面3个元素都被默认初始化为0

matriz de caracteres

char arr[]="maoleshua";
这是10个元素,因为字符串以\0为结尾
char arr[]={
    
    'm','l','n','b'};
这是4个元素

pensar

int n=5;
int arr[n]={
    
    1,2,3,4,5};

¿Es correcto el código anterior? Antes del estándar C99, era incorrecto escribir de esta manera ( [] solo puede contener constantes enteras ), pero después de eso, existe el concepto de matrices de longitud variable, que es correcto.
Pero el compilador vs no es compatible con el estándar C99 por el momento. Así que está mal.

2. El uso de arreglos unidimensionales

fácil de usar

int main()
{
    
    
	int arr[5] = {
    
     1,2 };
	int i = 0;
	for (i = 0; i < 5; i++)
	{
    
    
		arr[i] = i;
	}
	for (i = 0; i < 5; i++)
	{
    
    
		printf("%d ", arr[i]);
	}
	return 0;
}

3. Almacenamiento de arreglos unidimensionales en memoria

La matriz se almacena de forma contigua en la memoria.Para
el código anterior,
mire su dirección de memoria
Como puede verse

4. Creación e inicialización de arreglos bidimensionales

La matriz bidimensional se ve así int arr[][], el primer [ ] representa la fila y el segundo [ ] representa la columna.
inicialización:

	int arr1[2][2] = {
    
     1,2,3 ,4};
	全部初始化
	int arr2[2][2] = {
    
     {
    
    1,2},{
    
    3 ,4} };
	和上面的一样,每个大括号表示一行
	int arr3[2][2] = {
    
     {
    
    1},{
    
    2,3 } };
	这种第一行没有完全初始化,没有完全初始化的被默认初始化为0
	int arr4[][2] = {
    
     1,2,3 ,4};
	这种省略行的表示是正确的,行数由后面的初始化的确定
	int arr5[2][] = {
    
     1,2,3,4 };
	这种初始化是错误的,不能省略列
	int arr6[2][2] = {
    
     1 };
	非完全初始化,其余元素都为0

5. El uso de arreglos bidimensionales

Es así de simple de usar

	int arr[2][2] = {
    
     1,2,3 ,4};
	int i, j;
	for(i=0;i<2;i++)
	{
    
    
		for (j=0;j<2;j++)
		{
    
    
			printf("%d ", arr[i][j]);
		}
		printf("\n");
	}

6. Almacenamiento de arreglos bidimensionales en memoria

Las matrices bidimensionales también se almacenan de forma contigua en la memoria.

7. Matriz fuera de los límites

Matriz fuera de los límites significa acceder a la memoria fuera de la matriz.Tome
una matriz unidimensional como ejemplo

	int arr[5] = {
    
     1,2 };
	int i = 0;
	for (i = 0; i < 6; i++)这里当i==5,访问数组中第6个元素,为越界访问
	{
    
    
		arr[i] = i;
	}

8. Arreglos como parámetros de función

El nombre de la matriz de una matriz unidimensional representa la dirección del primer elemento El nombre de la matriz de una matriz bidimensional representa defila
primerala dirección del elemento de la


void f(int* arr)
{
    
    
	int st = sizeof(arr) / sizeof(arr[0]);
	大家可能以为st的值为5,但是为1,
	因为这个arr是指针变量,32位平台上占4个字节
}
int main()
{
    
    

	int arr[5] = {
    
     1,2,3 ,4 };
	f(arr);
	
	return 0;
}

Los lectores deben prestar atención.

9. Enséñale el grupo a mano

QQ grupo 720429262

Supongo que te gusta

Origin blog.csdn.net/m0_60598323/article/details/123087226
Recomendado
Clasificación