c - 返回一个二维字符数组

标签 c arrays function

所以我正在编写一个程序,通过向函数传递一个二维数组来加密函数中的二维字符数组,但我正在努力将其返回到主函数,以便我可以使用它的其他函数,例如再次加密来加密两次。

char *encrypt(char bob[6][6], int key[6])[6][6]
{
int i ,j;
char tempArr[6][6];
printf("\n");
for (i = 0; i < 6; i++) {

    for (j = 0; j < 6; j++)
    {
        int col = key[j];
        printf("%c", bob[i][col]);
         tempArr[i][j] = bob[i][col];
    }

    printf("\n");
}
for (i = 0; i < 6; i++) {
    for (j = 0; j < 6; j++)
    {
        printf("%c", tempArr[j][i]);
    }
    printf(" ");
}

return tempArr;

}

这是我的加密函数,我试图从中返回字符串/二维数组 **tempArr = 加密(鲍勃, key ); 加密(tempArr, key ); 这就是我将数据传递给该函数的方式

最佳答案

您正在从函数返回局部变量,该变量被该函数的第一个函数销毁。您必须使用 malloc() 动态分配它。 你可以这样做: char **tempArr = malloc(6 * sizeof(char *)); for (i=0; i<6; i++) tempArr[i] = malloc(6 * sizeof(char)); 这将为 6x6 字符数组动态分配空间。别忘了free()当你完成它时它。

关于c - 返回一个二维字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40706079/

相关文章:

javascript - 未检测到阵列中的图像?

mysql - SQL 按问题排序在数据表中无法正确显示

javascript - 如何使 Javascript 函数在显示 DIV 元素时启动?

c - 我的 pop 函数(队列)C 做错了什么

c - 如何使用 NaN 处理无效数据的可能性

C - 从二叉树中删除节点

python - 数组操作 | Hackerrank 运行时错误问题

php - 在 foreach 内部运行时遇到格式不正确的数值

generics - 如何在 PowerShell 中向下转换函数的返回值?

谁能帮我用C语言创建一个共享内存段