【问题标题】:swapping array indicy function with pointers用指针交换数组索引函数
【发布时间】:2023-10-11 05:54:01
【问题描述】:

看到这个问题Swapping in a char * array[ ] leading to issues

用户 Claudiu 给出了交换数组中字符串位置的解决方案

 tmp = array[compare];
            array[compare] = array[index];
            array[index] = tmp;

但是,我想知道如何在一个函数中单独实现它。使用指针,我就是无法理解指针和字符数组之间的联系。

【问题讨论】:

    标签: c arrays char swap


    【解决方案1】:

    你可以定义一个函数:

    void swapArrayItems(char* array[], int index1, int index2)
    {
       char* tmp = array[index1];
       array[index1] = array[index2];
       array[index2] = tmp;
    }
    

    然后将其用作:

    swapArrayItems(array, compare, index);
    

    【讨论】:

    • 非常感谢,还有一件小事,参数中有char* array[]和char *array有什么区别?
    • char* array[] 通常表示字符串数组。 char* array 通常表示代表一个字符串的字符数组。