gpt4 book ai didi

c - int main(int carg, const char **varg) {

转载 作者:行者123 更新时间:2023-12-04 12:06:32 25 4
gpt4 key购买 nike

<分区>

我有以下功能:

 int func(int carg, const char **varg) { 
//code ...
}

我的理解是:

varg 是指向第二个指针的指针。第二个指针指向一个字符。这个字符是……

either: a single char (1st case)
or: a char that constitutes the first char of a char array. (2nd case)

这个理解对吗?

我不明白的是为什么你想将一个指针作为参数传递给一个指针。

如果你想传递(通过引用)一个字符给函数,你可以简单地写:

int func(int carg, const char *v) { 
//code ...
}

在第二种情况下,如果您想将 char 数组(通过引用)传递给函数,可以使用相同的函数(这一次,v 指向传递给函数的数组的第一个元素):

int func(int carg, const char *v) { 
//code ...
}

总而言之,我不明白您为什么要使用指向指针的指针作为函数的参数。

我的具体案例是下面的主函数声明:

 int main(int carg, const char **varg);

**varg 处理命令行上的参数。可以使用 varg[1]、varg[2] 等访问命令行参数。所以,很明显,**varg 所做的只是将命令行参数保存在一个数组中。但这可以通过以下代码以更简单的方式实现:

 int main(int carg, const char *varg); 

我错过了什么?

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