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

31 篇文章 10 订阅

不带形参的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
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值