C 传递多维数组的函数声明
我需要一个strlen的二维版本的函数声明。也就是说,此函数必须接收指向char的指针数组和size\t整数数组,以及指定每个数组中元素数的int 根据问题的措辞,我可以这样想:C 传递多维数组的函数声明,c,arrays,pointers,C,Arrays,Pointers,我需要一个strlen的二维版本的函数声明。也就是说,此函数必须接收指向char的指针数组和size\t整数数组,以及指定每个数组中元素数的int 根据问题的措辞,我可以这样想: void strlen_2D(char *ar[][size_t], int n) // n is number of elements 这有什么意义吗?原来的斯特伦看起来像: size_t strlen(const char *str) 我相信你正在寻找这样的东西: void strlen_2D(const ch
void strlen_2D(char *ar[][size_t], int n) // n is number of elements
这有什么意义吗?原来的斯特伦看起来像:
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]);
}
}
void strlen\u 2D(常量字符*ar[],大小长度[],整数n){
对于(int i=0;i
根据问题的措辞,调用者应该提供要填充的长度数组作为out参数。多维数组在C中不存在(它只有数组数组数组、指针数组、聚合数组,如
struct
或union
-等,一些已知类型的元素数组)。每个数组元素都有固定的已知类型、大小和对齐方式。另请参见char*ar[][size\u t]
会做什么?我只是根据措辞进行声明。我相信*ar[][size\u t]会有指向具有size\t整数的char数组的指针数组??