在C ++中,默认的main函数可以包含char * argv []之类的参数。它与char **和char * argv [100]的区别是什么?
答案 0 :(得分:4)
功能参数没有区别。在其他情况下,第一个声明一个指针,第二个声明一个数组。
答案 1 :(得分:1)
char**
是指向char
指针的指针。
第二个char *argv[100]
是一个指向char的指针数组。
但是当你将数组传递给函数时,它们衰减到指针。
答案 2 :(得分:1)
char** argv
:要引出与char * argv [100]相同的行为,必须动态分配空间来存储char指针。例如:(*argv) = new char[100];
双指针是C ++独有的一种非常灵活的数据类型,它可以提供疯狂的速度和疯狂的错误。通常,如果您知道阵列的大小,最好避免动态内存分配。