您的位置:首页 > 编程语言 > C语言/C++

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

2016-12-08 17:41 281 查看
不带形参的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]代表的其实解释命令行参数中的第二个参数,在本例子中他是一个图片路径,因为第一个参数是操作系统给出的可执行文件名。

在该编译器下,属性-调试-命令参数 中写入图片路径即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: