我正在读一本书,所以我可以重新学习C ++,并且我继续看到以下关于main的参数:
int main(int nNumberOfArgs,char* pszArgs[]))
我不确定这些论点是什么意思。我做了一些研究,我认为我有一个基本的了解。
我在Matlab中做了很多编程,我经常创建一个函数:
function output=myfunct(varargin)
其中varargin是一个关键字,表示任何参数。我可以作为一个论点给它任何东西。 myfunct(1,2,'a string',objectvariable)
“nargin”是一个关键字,表示参数的数量。
所以我理解main函数的这些参数的方式是:
int main(int nargin,char* varargin[])
我说的任何内容都有意义吗?你能更好地向我解释一下吗?我还不太明白如何使用指针和引用。
答案 0 :(得分:3)
这有点不同。这些参数引用命令行参数。因此,当您从命令行调用程序时,如下所示:
$ myProg arg1 arg2 arg3
nNumberOfArgs
和pszArgs
的值将为
nNumberOfArgs = 3
pszArgs = {"arg1", "arg2", "arg3"}
此外,由于您提到了指针,pszArgs
的类型为char* []
,因为字符串是char
的数组,而数组只是指向第一个元素的指针。
答案 1 :(得分:-1)
可能这样想:int nNuberofArgs声明一个与下一个参数大小相同的整数。下一个参数是char * pszArgs [],这会创建一个数组程序的长度,因此nNumberofArgs引用指向字符串(ps)的指针,零终止(z),换句话说,创建足够的空间来运行程序