Arrays 传递一个指向char数组的指针,并用C获取数组的长度?

Arrays 传递一个指向char数组的指针,并用C获取数组的长度?,arrays,c,function,pointers,Arrays,C,Function,Pointers,如何获取数组“源”的长度?到目前为止,我有这个 我想知道是否有人有什么建议。多谢各位 我的尺码是-2074 我不知道数组的长度,这是一个随机输入 #包括 int StrToUpper(字符*目标[],常量字符*源[]) { int size=*(&source+1)-源; 返回大小; } 您可以执行以下操作: int StrToUpper(字符*目的地[],常量字符*源) { int size=0; while(源[大小]!='\0') 大小++; 返回大小; } 我假设您将向这个函数传递字符

如何获取数组“源”的长度?到目前为止,我有这个 我想知道是否有人有什么建议。多谢各位

我的尺码是-2074

我不知道数组的长度,这是一个随机输入

#包括
int StrToUpper(字符*目标[],常量字符*源[])
{
int size=*(&source+1)-源;
返回大小;
}

您可以执行以下操作:

int StrToUpper(字符*目的地[],常量字符*源)
{
int size=0;
while(源[大小]!='\0')
大小++;
返回大小;
}
我假设您将向这个函数传递字符串
比如:
StrToUpper(“some”,“somemore”)

如果只有一个指针,就无法得到“数组”的大小。该程序没有任何关于指针指向的信息。这是OP的副本(现已删除),它在几个小时前作为副本关闭。耶,对不起,我的另一个被应答了,我试图发布它,但它不让我发布。请注意,
char*source[]
没有声明
source
作为数组指针,它是一个指针数组(或者实际上是指向指针的指针或
char**source
)。如果需要指向数组的指针,则需要使用
char(*source)[
。在这种情况下没有任何区别。你真的需要数组的大小吗?还是字符串长度?用例是什么?您需要解决的实际潜在问题是什么?
#include <ctype.h>

int StrToUpper(char *destination[],  const char *source[])
{
    int size = *(&source + 1) - source;

    return size;
}