C语言-利用指针实现3*4矩置阵的转置

简介: C语言-利用指针实现3*4矩置阵的转置

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)

目录

题目:

代码思路:

代码表示:


题目:

利用指针实现3*4矩置阵的转置

代码思路:

我们定义了一个名为`turn`的函数,该函数接受一个指向二维数组的指针,以及矩阵的行数和列数作为参数。在函数中,我们使用两个嵌套的循环来遍历矩阵,将每个元素与其对应的转置元素进行交换。最后,我们在`main`函数中调用`turn`函数,并打印出转置后的矩阵。

在函数中,arr表示首元素地址,*(*(arr+i)+j)表示第i行第j列元素的值

代码表示:

void turn(int arr[3][4], int rows, int cols)
{
    int temp;
    for (int i = 0; i < rows; i++)
    {
        for (int j=i+1; j < cols; j++) 
        {
            temp = *(*(arr + i) + j);
            *(*(arr + i) + j) = *(*(arr + j) + i);
            *(*(arr + j) + i) = temp;
        }
    }
}
int main()
{
    int arr[3][4] = { {1, 2, 3, 4},
                        {5, 6, 7, 8},
                        {9, 10, 11, 12} };
    printf("转换前\n");
    for (int i = 0; i < 3; i++) 
    {
        for (int j = 0; j < 4; j++) 
        {
            printf("%4d ", arr[i][j]);
        }
        printf("\n");
    }
    printf("转换后\n");
    turn(arr, 3, 4);
    for (int i = 0; i < 4; i++) 
    {
        for (int j = 0; j < 3; j++) 
        {
            printf("%4d ", arr[i][j]);
        }
        printf("\n");
    }
    return 0;
}
相关文章
|
14天前
|
安全 C语言
【C语言】如何规避野指针
【C语言】如何规避野指针
20 0
|
15天前
|
C语言
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
|
29天前
|
存储 程序员 编译器
爱上C语言:指针很难?来来来,看看这篇(基础篇)
爱上C语言:指针很难?来来来,看看这篇(基础篇)
|
4天前
|
C语言
c语言指针总结
c语言指针总结
10 1
|
10天前
|
存储 程序员 C语言
【C 言专栏】C 语言指针的深度解析
【4月更文挑战第30天】C 语言中的指针是程序设计的关键,它如同一把钥匙,提供直接内存操作的途径。指针是存储其他变量地址的变量,通过声明如`int *ptr`来使用。它们在动态内存分配、函数参数传递及数组操作中发挥重要作用。然而,误用指针可能导致错误,如空指针引用和内存泄漏。理解指针的运算、与数组和函数的关系,以及在结构体中的应用,是成为熟练 C 语言程序员的必经之路。虽然挑战重重,但掌握指针将增强编程效率和灵活性。不断实践和学习,我们将驾驭指针,探索更广阔的编程世界。
|
11天前
|
算法 搜索推荐 程序员
C语言中的函数指针和回调函数
C语言中的函数指针和回调函数
9 2
|
14天前
|
存储 编译器 C语言
【C语言】初步解决指针疑惑
【C语言】初步解决指针疑惑
7 0
|
15天前
|
存储 C语言
指针深入解析(C语言基础)带你走进指针,了解指针
指针深入解析(C语言基础)带你走进指针,了解指针
|
15天前
|
C语言 C++
C语言:指针运算笔试题解析(包括令人费解的指针题目)
C语言:指针运算笔试题解析(包括令人费解的指针题目)
|
17天前
|
存储 人工智能 算法
C语言实现矩阵转置
C语言实现矩阵转置
43 0