MST

星途 面试题库

面试题:C语言多维数组指针在函数间传递

编写一个函数 `void printArray(int (*ptr)[4], int rows)`,该函数接收一个指向含有4个元素的一维数组的指针(即指向二维数组一行的指针)和行数,函数功能是打印传入的二维数组的所有元素。在 `main` 函数中创建一个二维数组 `int arr[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};` 并调用这个函数来打印数组内容。
17.4万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

一键面试
#include <stdio.h>

void printArray(int (*ptr)[4], int rows) {
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < 4; j++) {
            printf("%d ", *(*(ptr + i) + j));
        }
        printf("\n");
    }
}

int main() {
    int arr[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
    printArray(arr, 3);
    return 0;
}