main(int arc,char **arv)为什么是合法的?
来源:百度知道 编辑:UC知道 时间:2024/06/23 01:57:12
我知道main(int argv,char *arge[])是合法的, main(int arc,char **arv)为什么也是?char *arge[] 与char **arv作为形参时为什么是一样的?请详细解释下,谢谢。
数组作为形参,就弱化为指针
int f(int a[10]) 和 int f(int *a)完全等价
int f(int a[10])
{
int size = sizeof(a);/*这里得到的是指针的大小,而不是数组的大小*/
}
这个其实很简单,举个例子吧
void function(int, char*[]);
这个声明是合法的,形参的名字甚至都可以没有!
所以,可以看出形参是多么的不重要了吧!
重要的是函数名
最为参数时, 函数名就是一个指针, 指向数组第一个元素.
所以char *arge[] 就等于char **arv
int main(void)
int main(int argc, char *argv[])
c中 像int main() ,main()前有int是什么意思?
main(int argc,char*argv[])
主函数int main和void main有什么区别
void main() 和 int main() 到底有什么本质区别?
int main(void) 这是什么意思啊?
C++问题int main(int argc,char * argv)[ ]是什么意思
C++中的,int main() {…return 0;}是什么意思?
谁能告诉我“public:”、“int main()”在c++中是什么意思