c - 如何遍历二维字符数组

标签 c

我有 2 个二维数组。在某些时候,我需要选择两者之一并对其进行循环。我需要什么样的指针来指向二维数组才能对其进行循环?

const char *a[] = {
            "example1",
            "example2",
            NULL
        };

const char *b[] = {
            "example1",
            "example2",
            "example3",
            "example4",
            "example5",
            NULL
        };

const char *pointer = a;

int count = 0;
while(pointer != NULL)
{
    puts(pointer[count]);

    count++;
}

最佳答案

你只需要一个*:

const char **pointer = a;

你的循环条件也是错误的 - 我想你想要:

while (pointer[count] != NULL)

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

相关文章:

c - 如何扫描超过 1 个整数?

c - 5 ["abcdef"];在c中正确吗?

c - GCC - 打印结构的定义

c - 快速读取文件

c - C 中数组和指针的基本行为

c - 如何求树中节点的最大和

c - 如何在 C 中完成使用指针运算而不是数组下标的功能?

c++ - 数组调试不正确的输出,复杂的算法

c - 有没有办法在 GCC 二进制文字中进行分组?

c - C 编程中读取行直到特定行