Matriz de lenguaje C (abajo)

Escriba una función de clasificación de burbujas, el código es el siguiente:

void bubble_sort(int arr[],int sz)
{
    //确定冒泡排序的函数
    int i = 0;
    for ( i = 0; i < sz - 1; i++)
    {
        int flag = 1;//假设这一趟要排序的数值已经有序
        //每一趟冒泡排序
        int j = 0;
        for ( j = 0; j < sz - 1 -i; j++)
        {
            if (arr[j]>arr[j + 1])
            {
                int tmp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = tmp;
                flag = 0;//本趟排序的数据其实不完全有序
            }
        }
        if (flag == 1)
        {
            break;
        }

    }
}
int main()
{
    int arr[] = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
    int i = 0;
    int sz = sizeof(arr) / sizeof(arr[0]);
    //对arr进行排序,排成升序
    //arr是数组,我们对数组arr进行传参,实际上传递过去的是数组arr首元素的地址 &arr[0]
    bubble_sort(arr,sz);//冒泡排序函数
    for ( i = 0; i < sz; i++)
    {
        printf("%d ", arr[i]);
    }
    return 0;
}

Cabe señalar que arr es una matriz. Pasamos parámetros a la matriz arr. De hecho, lo que se pasa es la dirección del primer elemento de la matriz arr & arr [0]. Si desea encontrar el número de elementos en la matriz, primero debe pedirlo afuera. Pase de nuevo.


Nombre de la matriz La dirección del primer elemento de la matriz. (Hay dos excepciones)
1. sizeof (nombre de la matriz ): el nombre de la matriz representa la matriz completa y sizeof (nombre de la matriz) calcula el tamaño de toda la matriz en bytes.
2. & nombre de la matriz, el nombre de la matriz representa la matriz completa, y el nombre de la matriz, se elimina la dirección de toda la matriz.


Resumen:
Para distinguir si pasamos la dirección del primer elemento o la dirección de la matriz completa, el significado de los dos es diferente.
2021.1.27
Siempre una computadora tonta

Supongo que te gusta

Origin blog.51cto.com/15080720/2608828
Recomendado
Clasificación