c - 指向指针数组的指针

标签 c pointer-to-pointer pointer-to-array

我正在尝试创建一个“int** arr[5]”,其中的每个单元格都包含一个“int* 数组”,每个“int* 数组”具有不同的大小。每当我尝试打印其中一个单元格时,它只打印其中的第一个数字,为​​什么会发生这种情况?我怎样才能打印整个数组?

#include <stdio.h>
#include <stdlib.h>

void sortNumber(int** arr[]);


int main(void)
{
    int i = 0;

    int* arr1[3] = { 2, 5, 8 };
    int* arr2[2] = { 1, 7 };
    int* arr3[6] = { 5, 1, 8, 3, 7 ,12 };
    int* arr4[4] = { 3, 9, 4, 29};
    int* arr5[5] = { 4, 11, 17, 23, 25 };

    int** bigArr[5] = {*arr1, *arr2, *arr3, *arr4, *arr5};

    sortNumber(bigArr);


    system("PAUSE");
    return 0;
}

void sortNumber(int** arr[])
{
    printf("%d", arr[1]);
}

最佳答案

所以您正在使用二维数组。您需要以 arr[i][j] 格式打印它。

for(int i = 0; i < THREE; i++)
   printf("%d", arr[THREE][i]);

关于c - 指向指针数组的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36520046/

相关文章:

c - 每次输出都相同

c - 相当于 I_PUSH 的 Linux

c - UDP广播问题

c - 在双指针上使用 strcpy 时出现段错误

c - 使用 -> 运算符访问指向结构指针的指针

c++ - 我如何将多维数组作为指针传递给c

用 C 计算斯特林近似

c - 释放内存时出现奇怪的 C 错误?

c++ - 正确处理指向指针的指针

c++ - 如何定义和使用指向 "array"成员的指针?