main 函数 的 char *argv[] 参数是二维数组吗?

代码如下:
#include

int main(int argc, char *argv[])
{
int arg;
for(arg = 0; arg <argc ;arg++ )
{
if(argv[arg][0] == '-')
printf("option : %s\n", argv[arg]+1);
else
printf("argument %d: %s\n",arg ,argv[arg]);
}
return 0;
}

http://blog.csdn.net/goodlixueyong/article/details/5941534

看看这个http://blog.sina.com.cn/s/blog_4d3a41f40100e444.html

这看你怎样理解了,个人认为可以简单的理解为二维数组,但所包含的一维数组的长度是不同的

char *argv[] 是一个指针数组,并不是二维数组
argv的每个成员都是一个指针,每个指针分别指向不同的字符串
比如argv有3个成员,那么argv本身就只占12(3 * 4)个字节(在32位机上),而二维数组的话则要根据指向的字符串长度才能知道占的字节数