gpt4 book ai didi

c - 双指针字符串的大小是多少?

转载 作者:行者123 更新时间:2023-12-01 23:25:05 25 4
gpt4 key购买 nike

假设我有 char **argv。如何确定其大小?

我有一个字符串 - 例如:sleep 30 & 保存在 argv 中。我希望能够访问 *argv 中的最后一个数组。在这种情况下,最后一个数组包含 &。我怎样才能访问它? strlen(argv) 似乎无法正常工作。 sizeof() 显然不能正常工作,因为 **argv 是一个指针。

注意:我不是在谈论 **argv 作为 main() 中的参数,因此,我没有 argc 或任何其他指示字符串是。

最佳答案

编辑:编辑以使用自定义字符串数组。 NULL 指针表示数组的结尾。尽管这声明了一个包含 4 个字符串的数组,但此方法可用于动态大小的数组。

#include <stdio.h>

int main()
{
char* custom[4] = { "sleep", "30", "&", NULL };
int last;
for (last = 0; custom[last + 1]; last++);
printf("%i - %s\n", last, custom[last]);
return 0;
}

// ./a.out
// > 2 - &

为了让这对您有用,您必须编辑您的程序,以便在构建它时在您的 char** 中明确包含一个额外的 NULL 字符串。如果没有该指示符,最后一个字符串之后的地址不一定是 NULL,因此您可能会在计数中包含垃圾或导致段错误。

关于c - 双指针字符串的大小是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9695072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com