Jesen 发表于 2011-10-29 14:39:36

main函数入口参数的区别 int main(int argc,char **argv)和int main(int argc,char

main函数入口参数
1、习惯用法
int main(int argc,char *argv[])
2、看了很多程序是这样子的
int main(int argc,char **argv)
第一个是数组指针,第二个是指向指针的指针
两者都可以使用如指针argv
有什么区别不??

rainyss 发表于 2011-10-29 15:37:08

格式上,你可以认为* 跟 []等价.

*a = a
*(a+1) = a
*(a+2) = a

Jesen 发表于 2011-10-29 16:03:43

谢谢LS
(转)
自己贴一段void main(int argc, char* argv[ ])等同于void main(int argc, char* *argv)

这行中有三个字符串分别为 cp.exe doc1.txt doc2.txt
则argc为3,即argc是命令行中参数的个数。
char *argv[]为一个指像字符串的数组。

argv="cp.exe"

argv="doc1.txt"
argv="doc2.txt"
agv为一个字符串指针,它就象 *p=”goodbye”实际上是*argv=”cp.exe”

p为goodbye的首地址,*p则指向goodbye的第一个字符, *p=”goodbye”与p[ ]=”goodbye”完全致的作用, 同理argv就指向cp.exe的地址,*argv指向cp.exe的第一个字符,即c
页: [1]
查看完整版本: main函数入口参数的区别 int main(int argc,char **argv)和int main(int argc,char