提问者:小点点

如何获得数组上的指针?


我有这样一个数组:

    const char arg_arr[][100] = {
        "a",
        "b",
        "c",
        "d",
    };

然后我有这样一个方法ParsecMDLine(const char*argv[]);

因此,为了传递我的arg_arr,我需要获取指向它的指针。

我尝试以parsecmdline(*arg_arr)或类似于parsecmdline(&arg_arr)的方式调用此方法,但它不起作用。

问题是-如何传递这个arr作为指针?


共3个答案

匿名用户

更改:

 const char arg_arr[][100] = {
 ...
};

致:

 const char *arg_arr[] = {
 ...
};

匿名用户

arg_arrchar数组的常量数组,与ParsecMDLine所期望的类型不同:指向常量char数组指针的数组的指针。

您应该这样定义arg_arr:

const char *arg_arr[] = {
    "a",
    "b",
    "c",
    "d",
    NULL
};

并将其直接作为ParsecMDLine(arg_arr)传递。

请注意,ParsecMDLine必须有一种方法来告诉数组中存在多少元素。 或者将此计数作为额外的参数传递(argc),或者在最后一个字符串后面添加一个尾随的null指针,如上所示,或者两者兼而有之,如main()函数的参数所做的那样。

匿名用户

如何获得数组上的指针?

有关您所提供内容的可用选项(不更改代码):

按数字计算:

按字母顺序排列:

这里有一个我想可能会有帮助的指南。