我需要 strlen 的二维版本的函数声明。也就是说,该函数必须接收一个指向 char 的指针数组和一个 size_t 整数数组,以及一个指定每个数组中元素数量的 int 数组。
根据问题的措辞,我能想到的是:
void strlen_2D(char *ar[][size_t], int n) // n is number of elements
这有意义吗?
最佳答案
原来的 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]);
}
}
根据问题的措辞,调用者应提供要作为输出参数填充的长度数组。
关于c - 用于传递多维数组的函数声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50663841/