0

我正在读一本书,这样我就可以重新学习 C++,并且我不断地看到 main 的以下论点:

int main(int nNumberOfArgs,char* pszArgs[]))

我不确定这些论点是什么意思。我做了一些研究,我想我有一个基本的了解。

我在 Matlab 中做了更多的编程,我经常创建一个函数:

function output=myfunct(varargin)

其中 varargin 是一个关键字,表示任何参数。我可以给它任何东西作为论据。myfunct(1,2,'一个字符串',对象变量)

“nargin”是一个关键字,表示参数的数量。

所以我理解主函数的这些参数的方式是:

int main(int nargin,char* varargin[])

我说的有道理吗?你能更好地给我解释一下吗?我也不太明白如何使用指针和引用。

4

2 回答 2

3

这有点不同。这些参数是指命令行参数。因此,当您从命令行调用程序时,如下所示:

$ myProg arg1 arg2 arg3

的值nNumberOfArgspszArgs将是

nNumberOfArgs = 3

pszArgs = {"arg1", "arg2", "arg3"}

另外,由于您提到了指针,所以类型pszArgschar* []因为字符串是chars 的数组,而数组只是指向第一个元素的指针。

于 2013-07-28T04:30:37.130 回答
-1

可以这样想: int nNuberofArgs 声明一个整数,其大小与下一个参数的大小相同。下一个参数是 char* pszArgs [],这会创建一个程序长度的数组,因此 nNumberofArgs 指的是指向以零结尾 (z) 的字符串 (ps) 的指针,换句话说,创建足够的空间来运行程序

于 2014-01-17T23:48:48.507 回答