int main(int argc, char* argv[]) vs运行带参数程序,指针数组

本文深入探讨C++中main函数的两种常见形式:无参的voidmain()与接收参数的intmain(intargc,char*argv[])。重点讲解了如何通过命令行输入参数给argv[],并解释了指针数组的概念及其在程序中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们大多数看到的c++程序的main是这样的

void main() 
{
……
}

这样的函数方便在vs里面调试,但是有时需要直接进行外部输入
我们看到的main函数是这样的

int main(int argc, char* argv[])
{
……
}

argc为统计argv数组中元素个数的变量,不需要我们输入
我们输入时只需要输入参数给指针数组argv即可(指针数组char* agrv[]知识在最后有所补充)

现在我们需要解决的问题是,在我们运行程序时,如何输入参数给argv[]呢?
程序中,读取argv[]的地方改成我们需要的参数——可以这么做,当然这么做的弊端也是挺大的,你需要去每个位置修改。
或者是在程序开始直接定义agrv()

不过,我们可以通过正规的操作处理这个程序
我们在程序调试的生成中,已经生成了exe文件,我们可以在windows情况下使用cmd运行exe程序。(命令行最大的优点时,可以同时提供exe运行所需的输入)
首先用进入cmd界面
在这里插入图片描述
然后用cd进入exe所在盘
在这里插入图片描述
然后进入exe所在的文件夹

在这里插入图片描述
输入程序名,并在后面加空格后输入需要输入的参数,这里的参数是一张在exe文件所在文件夹的图片。
在这里插入图片描述
然后就可以顺利运行了。

指针数组

指针构成的数组
和普通数组的区别在于,普通数组每个元素对应一个字符

指针数组,每个元素对应一个地址,这个地址就可以装多个字符了。
关于指针的理解,可以看二郎之前的博客,有详细讲解,易懂。
指针和我们普通变量最大的差别在运算和表达上,用指针就在指针系统下思考,用普通变量就在普通变量系统下思考。

char a[3][5]={"aaa","bbb","ccc"};
char *n[3]={"aaa","bbb","ccc"};

上面写的是一维指针数组,二维指针数组在引用时,需要指定具体位置
因此用到了**

char *ptr_array[3][3]={{"xxx","yyy","zzz"},{"x","y","z"},{"xx","yy","zz"}};

*(*(ptr_array+2))=“xx”

*(*(ptr_array+2)+2)=“zz”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值