c 主函数带参数是什么意思,C 主函数带参数是什么意思

2021-03-11 05:29:42 字数 5139 阅读 7506

1楼:匿名用户

int main(int argc,char *argv)

是标准写法

当然也抄可以写成:int main(int argc,char **argv) 或int main()

就像中bai

华人du民共和国又称作中国一样.需要的zhi时候使用dao全称,不需要的时候就使用简称.

int 的main函数的返回值

当你的程序以正常态运行后,你需要return 0给操作系统.让操作系统知道你的程序正常结束了.

argc 是你参数的个数 它最小值是1

argv 是参数的实际值

我编译了一个文件叫做a.exe

我在windows命令行下 调用这个程序 "a.exe -a"

那么 操作系统会传递给main函数两个参数

即 argc=2;

一个参数是a.exe这个文件的url

如: "c:\a.exe"

另一个参数就是"-a"

无论你调用这个程序是否加了参数,操作系统总是会把这个文件的url当作第一个参数传递给主函数.

当然有时候我们不需要参数

那么 就直接写成

int main();

如果是c语言的话 要写成 int main(void) 因为c++里空括号的含义与c语言并不相同

2楼:匿名用户

比如你做了一个 main.cpp 编译bai连接成 main.exe如果你在

du dos 命令行zhi

里启动该可执行文件应该是 main 或dao main.exe或带参数内的 main.exe a b c此时,"main","main.

exe", 就是操作系统传容给程序的参数,他是一个字符串或字符串数组

这是在 shell 里这么做的

当你直接双击该程序的图标,os会自动加上一些附加参数,具体我不知道我是这么认为的

3楼:

int main(int agrc, char **agrv)agrc : 参数的du个数

agrv : 参数的内容

默认情况下agrc = 1, agrv[0] = "程序所在zhi的录"

如dao程序在回dos窗口下输入运行

答,如a.exe my program则

agrc = 3

agrv[0] = "程序目录"

agrv[1] = "my"

agrv[2] = "program"

4楼:我是编程大虾

这叫命令行参数,所有的都可以这样。

这时候你的程序只能在dos环境下运行,运行时需要输入可执行文件名(即程序编译生成的可执行文件),所有的参数,然后出车就可以运行了。

c++ main函数的形参有什么意义

5楼:匿名用户

main函数既然是个函数,那么当然符合函数的基本属性,比如具有函数返回值、具有参数。main函数可以是有参的也可以是无参的,通常写main函数用void替代形式参数,而c++和c语言中其实都规定了main函数的定义形式:

void main(int argc , char *argv[ ])

在没有操作系统的单片机应用程序中,main一般都没有形式参数,所以定义main函数时,参数部分用void替代。但在操作系统下,这两个形式参数就有操作系统来传递而来。这时main函数不但有返回值,而且还有参数。

如上段程序中所示,main函数中包含一个整型变量argc和一个指向字符串数据的指针数组,它们分别表示操作系统在激活main函数时命令行中参数的个数和命令行中每个字符串的首地址,数组的大小即为参数的个数。

参数值的传递则是在程序编译、链接后,生成一个扩展名为exe的可执行文件。在操作系统里,执行该可执行文件或者在命令行下带参数执行就完成了操作系统对main函数的参数传递。

以上是个人体会,不妥之处希望广大网友纠正。

6楼:

int main(int argc, char* argv)默认情况下,会传入可执行文件的路径及文件名。利用这两个参数可以向此程序传入所需要的参数,在程序中发挥作用。

int main(int argc, char* argv)argc是字符串个数,argv存放字符串数组。希望对你有帮助!

7楼:匿名用户

main函数其实是由系统来调用的,调用的时候可以传递参数argv是一个字符串数组,是程序可能使用的参数。argc表示数组中字符串的个数。

比如我们经常用到的ping ****xx.*** ,ping 是系统目录下的一个exe, ****xx.***就是参数。系统会把它传给main

8楼:

c++出现以前main就可以带参数的,虽然main是程序的开始,但不影响把参数传递给它,因为它是由系统行调用的。比如在dos窗口里边,你就可以在给main设了参数的应用程序后边输入参数

你也可以在别的过程里边把参数给它。实际上在dos时代,这种有参数的应用更多, 通常很多命令都可以不要参数也可以有好几个参数,具体能处理多少个参数要看你在后边的过程里边怎么处理那些参数

c语言和c++中主函数main()的括号中为什么可以有参数

9楼:匿名用户

这是因为:主函数main并非程序的真正入口!在编译器对你的工程文件进行编译时,它是内先找到你的main函数容,然后根据main函数类型,把一段前缀入口程序预先编译,再让它去调用main函数.

当你的main函数需要参数时,它就编译有参数main函数调用,反之则编译无参数main函数调用.所以编译器是自动识别你的main函数类型的!

10楼:匿名用户

可以传bai入参数 ,在命令du提示符(也就是你说的dos)运zhi行时 后面可以跟上参dao数 传入到专main里面;

另外 不知属道楼主知不知道cs1.5的窗口化方法,是在cs1.5的快捷方式属性的路径后面加上 -win 就是窗口。这个-win也是传入的参数

c++,三个点的参数是什么意思

11楼:匿名用户

这个表示这个函数的参数可以为任意的。不管传递什么类型的变量进去都可以。

12楼:匿名用户

谷歌一下 泛型算法 你就懂了

13楼:匿名用户

没有什么意思,编译时,根本不经过。。。

14楼:匿名用户

这个来网自站上有解释http://blog.csdn.***/aking1314/article/details/5874195

15楼:

我们看复下c语言中的最经典函制数吧:baiintprintf(char*format,...)事实上,我们如果要写这样du的函数也可以

zhi类似的写,那么dao在定义函数时用上这个符号“...”,它叫占位符.

c++中最常见的莫过于try catch函数了请看示例

trycatch(...)//这里3个点就是占位符了,表示要捕获任意的异常情况,如文件异常.内存异常等等

c++在定义函数时,在传递的参数后面加上“&”是什么意思

16楼:匿名用户

没有这个形式,写反了,应该是:

bool start(char& strr) {}这是说,函数的形参是你传递的实参的一个别名(引用)。

什么叫别名呢?那就是一损俱损,一荣俱荣,完全可以当作同一个东西对待。

说白了,函数里对引用参数的改变会影响到调用这个函数的程序中实参的值。

17楼:

引用,也就是直接用该变量,不生成副本

没有&的话,就是拷备一个副本,然后再用,怎么改变也不会影响原来的变量

bool start(char &strr)

18楼:沃聪接侠骞

函数参数传递顺序,有stdcall

cpascal

fast

this

等标准,并不是c和c++定义的参数传递顺序,具体你可以看一下这些调用的区别

c++函数参数中的"&"号是什么意思呢?

19楼:匿名用户

在函数的声明或定义中,形参带'&'号,表示形参是该类型的引用类型。所谓引用是一个变量的别名,这样对形参的修改会反映在实参上。

比如要实现交换就可以用

voidswap(int&a,int&b)在函数的调用中,实参带'&'号,表示取地址运算,结果是一个指向操作变量的指针。

20楼:匿名用户

1取地址;

int i=1;

int pi=&i;

2位运算,表求按位与

int a=1,b=3;

int c=a&b;

3引用int a;

int &b=a;//b是a的引用,b等同于a这是 sun_siliang 的答案

21楼:匿名用户

引用,即给一个变量取别名,他们还是同一个变量,就是比如a=0;调用 func(a);再函数里面count++;函数结束后会改变a的值,a这时候等于1.建议去看c++ primer,经典必读书籍

22楼:匿名用户

int &count它有什么功能,

countleaf(struct binode *root,int &count)}}

这个函数

传入的第二个参数是一个函数地址的引用

count(root->lchild) //而这里就是调用这个函数 目的应该是求根结点左孩子这边的叶子结点数

23楼:匿名用户

&本身是取地址符,这里表示引用,就是创建count的一个副本,函数中对count对象的修改不影响原传入的实参

24楼:匿名用户

引用,创建一个count的复本,这样就不会更改你传递进来的参数值了,当然如果你想改变的话的应该用指针:int func(int * count)

25楼:匿名用户

取地址操作符,或者引用,

26楼:

引用 可以修改count

c语言函数传参数加在前是什么意思

1楼 幻形术 c语言不能在函数参数前加 ,能加 的是c 语言。 在c 语言里,类型后加 表示引用,如 int a int b a 表示b引用a,b实际上就是a的别名。修改b的值也会导致a的值被修改。 函数传参时,加 表示把实参直接传递给函数,而不加 表示是传拷贝。 传引用 将实参直接传给形参,对于复...

c语言中的函数形参为void是什么意思

1楼 匿名用户 c语言中的void 基本上就是两个意思 无,没有 任意类型 这两个意思,与void出现的 位置和修饰变量相关 函数返回值位置,如 void func int i 表示func 函数没有返回值,void不可省 函数参数位置,如 void func void 表示func 函数即没有返回...

c调用cdll,而c++函数的有参数需要是nu

1楼 子丶夜 c 与 c 中的 null 的意义不太一样。在 c 中,与非托管 c 的 null 最接近的是 system runtime interopservices intptr zero,表示的是一个指针空指向。 因为值是 0 所以,c 的非托管函数平台调用的时候不可以把 null 认为是和...