首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言-返回字符的二维数组

在C语言中,要返回一个二维字符数组,可以使用指向指针的指针(char **)作为函数的返回类型

代码语言:javascript
复制
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char **create_2d_char_array(int rows, int cols) {
    char **array = (char **)malloc(rows * sizeof(char *));
    for (int i = 0; i < rows; i++) {
        array[i] = (char *)malloc(cols * sizeof(char));
        memset(array[i], '0', cols);
    }
    return array;
}

void free_2d_char_array(char **array, int rows) {
    for (int i = 0; i < rows; i++) {
        free(array[i]);
    }
    free(array);
}

int main() {
    int rows = 3;
    int cols = 4;

    char **array = create_2d_char_array(rows, cols);

    // 使用二维数组
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            printf("%c ", array[i][j]);
        }
        printf("\n");
    }

    // 释放二维数组占用的内存
    free_2d_char_array(array, rows);

    return 0;
}

在这个示例中,我们定义了两个函数:create_2d_char_arrayfree_2d_char_arraycreate_2d_char_array 函数接受行数和列数作为参数,并分配一个二维字符数组。free_2d_char_array 函数接受一个二维字符数组和行数作为参数,并释放分配的内存。

main 函数中,我们创建了一个 3x4 的二维字符数组,然后打印出它的内容。最后,我们释放了分配的内存。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券