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

来源:互联网 发布:嗨!我的梦网络歌曲 编辑:程序博客网 时间:2024/05/13 02:51

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

2 0
原创粉丝点击