用于传递多维数组的函数声明

时间:2018-06-03 06:29:12

标签: c arrays pointers

我需要一个二维版strlen的函数声明。也就是说,此函数必须接收一个指向char的指针数组和一个size_t整数数组,以及一个指定每个数组中元素数的int。

根据问题的措辞,这是我能想到的:

void strlen_2D(char *ar[][size_t], int n) // n is number of elements

这有意义吗?

1 个答案:

答案 0 :(得分:0)

原始的strlen看起来像:

size_t strlen(const char *str)

我相信你正在寻找这样的东西:

void strlen_2D(const char *ar[], size_t lengths[], int n) {
    for(int i = 0; i < n; i++) {
        lengths[i] = strlen(ar[i]);
    }
}

根据问题的措辞,调用者应提供要填充的长度数组作为out参数。