gpt4 book ai didi

c++ - 如何在 C 中找到 "char *"数组的长度?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:49:56 25 4
gpt4 key购买 nike

我声明了以下数组:

char* array [2] = { "One", "Two"};

我将这个数组传递给一个函数。如何在函数中找到这个数组的长度?

最佳答案

将数组传递给函数后,不费吹灰之力就无法找到数组的长度。你需要:

  1. 使用存储大小的容器,例如vector(推荐)。
  2. 同时传递尺寸。这可能需要对现有代码进行最少的修改,并且是最快的修复方法。
  3. 使用标记值,就像 C 字符串那样1。这使得查找数组的长度成为一个线性时间操作,如果您忘记了标记值,您的程序可能会崩溃。在大多数情况下,这是最糟糕的做法。
  4. 在传递数组时使用模板来扣除数组的大小。您可以在这里阅读:How does this Array Size Template Work?

1 如果您想知道,大多数人都对 C 字符串以这种方式工作这一事实感到遗憾。

关于c++ - 如何在 C 中找到 "char *"数组的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8045107/

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