C语言 指针和指针数组作main函数的形参

本文解析了C/C++中main函数的不同参数形式,包括无参数、int argc和char** argv或char* argv[]的区别,并通过一个读取命令行参数的示例代码展示了argv的应用。

不带形参的main函数一般写成:
int main()int main(void)
表示mian函数没有参数,调用mian函数时不需要给出实参。

而main函数有形参的形式:

int main( int argc, char** argv)  

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

我是这样理解这两种方式,其中第一种方式 **argv是指针的指针,指针指向变量,指针是一个地址,所以*argv是一个地址。第二种 *argv[]是指针数组,由于[]的优先级比*高,所以argv[]是一个数组,而数组名其实代表的是首地址,还是一个地址。所以这两种方法没有什么区别。
在vs2010下写这样一个测试代码

int main( int argc, char ** argv)  
{  
	IplImage *img = cvLoadImage(argv[1], 1);  
	cvNamedWindow("initial", 1);  
	cvShowImage("initial", img); 
	cvDestroyAllWindows();  
	cvReleaseImage(&img);
	return 0;
} 

其中argv[1]代表的其实解释命令行参数中的第二个参数,在本例子中他是一个图片路径,因为第一个参数是操作系统给出的可执行文件名。
在该编译器下,属性-调试-命令参数 中写入图片路径即可

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值