免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2451 | 回复: 2
打印 上一主题 下一主题

有关int main(int argc,char **argv)的求助 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-13 21:43 |只看该作者 |倒序浏览
都说main的标准写法是 int main(int argc,char *argv)

但:
int main(int argc,char **argv)          《--两个*,一个*表示指针或者字符串,两个*应该代表字符串数组,是吗  
struct  stat  buf;
  mode_t  mode;
  char  type[80];
  int fd;

  if (argc !=2)                                          《------此处,怎么知道argc的值是多少呢??
.......

  if((fd=open(argv[1],O_RDONLY))<0)      《-----此处argv[1]又代表啥呢。。。。
{
  .......

请问,argc  argv到底什么意思呢?
郁闷啊。。。

[ 本帖最后由 haibian826 于 2008-5-13 21:44 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-05-13 21:50 |只看该作者
正確 main 函數原型為 int main(int argc,char **argv),char ** 是表示指向指標的指標。

argc 表示傳入的引數數量,一般沒有傳參數預設為 1。比方你使用 program abc xyz 的話是傳入兩個參數,那 argc 就是 3

argv 表示傳入的引數的內容,argv[0] 表示程式名稱本身,argv[1] 表示傳入第一個引數。比方你使用 program abc xyz,argv[0] 就是 program,argv[1] 就是 abc

這些似乎都是很常見的 c book 都會談到的東西,建議你多閱讀幾次即可。

--

[ 本帖最后由 kenduest 于 2008-5-13 22:51 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-05-14 13:13 |只看该作者
谢谢楼主  好像有点明白了
呵呵

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP