如何获取字符**数组中的元素计数

How can I get count of elements in char** array

本文关键字:数组 元素 字符 何获取 获取      更新时间:2023-10-16

正如问题所说,有没有办法读取char**数组中有多少个元素?

在下面的代码print函数中,应该在不读取变量的情况下charpp数组中找到元素计数sizeofArray

#include <iostream>
using  namespace std;
char** charpp;
void print(char** charpp){
    cout << "Size: " << sizeof(&charpp) << "rn";
    for(int i=0;i< sizeofArray;i++){
        if (charpp[i]!=NULL)
            cout << i << " : " << charpp[i] << "rn";
    }
}
void main() {
    int sizeofArray = 27;
    charpp = new char*[sizeofArray];
    for(int i = 0; i < sizeofArray; i++) {
      charpp[i] = NULL;
    }
    charpp[1] = "test1";
    charpp[5] = "test5";
    print(charpp);
    charpp? delete(charpp):0;
    cin.get();
}

对不起,如果我要求不可能。我主要是一名 C#、Java 程序员,在这两种语言中都很容易找到字符串数组的大小。

c++ 数组不包含有关其大小的信息 - 必须存储在单独的变量中。

这就是main(int argc, char* argv[])的原因接受两个参数:大小和数组本身。

C ++中最简单的解决方案是使用vector<char*>