【发布时间】:2021-01-16 07:28:24
【问题描述】:
如何获取数组“源”的长度?到目前为止我有这个 我想知道是否有人有任何建议。谢谢
对于尺寸,我得到 -2074。
我不知道数组的长度,它是一个随机输入。
#include <ctype.h>
int StrToUpper(char *destination[], const char *source[])
{
int size = *(&source + 1) - source;
return size;
}
【问题讨论】:
-
如果你只有一个指针,你就不能得到一个“数组”的大小。该程序只是没有关于指针可能指向的任何信息。
-
这是 OP 的副本(现已删除)same question,几个小时前已作为副本关闭。
-
是的,对不起,我的其他人已经回答了,我试图发布它,但它不让我。
-
请注意
char *source[]并没有将source声明为指向数组的指针,它是一个指针数组(或者实际上是指向指针或char **source的指针)。如果你想要一个指向数组的指针,你需要使用char (*source)[]。在这种情况下,这没有任何区别。 -
你真的需要数组的 size 吗?还是字符串长度?用例是什么?您需要解决的实际潜在问题是什么?
标签: arrays c function pointers