|
![]() | 作者: cailiao2 [cailiao2]
![]() |
登录 |
最近看过一本编程的书 上面有好几个程序中用到main() 函数的形参char * argv[] 都把其用成了二维数组,不知道这个参数是二维数组还是一维数组? 有哪位高手可以给我讲讲 我先谢谢啦!!! |
地主 发表时间: 05-02-24 21:04 |
![]() | 回复: kert_t8 [kert_t8] ![]() |
登录 |
argv[]本身是一维的,但是这个一维数组里面都是char指针,每一个指针又指向一个字符串,字符串也算是char[],所以呢,咳咳,当然你不能就直接认为他是二维数组,因为标准的二维数组应该是个矩形,也就是说每行的列数应该是一样的![]() |
B1层 发表时间: 05-02-25 01:17 |
![]() | 回复: 286 [unique] ![]() |
登录 |
应该是个指针数组吧? (也可能是数组指针,我是分不清)。 但你可以理解为是二维数组,其中每一个值是传过来的参数。 |
B2层 发表时间: 05-02-25 09:09 |
![]() | 回复: onizuka [onizuka] ![]() |
登录 |
当数组作为函数的参数进行传递时,数组自动的退化为同类型的指针 |
B3层 发表时间: 05-03-01 17:50 |
![]() | 回复: ipc2000 [ipc2000] ![]() |
登录 |
这个在C++的SDK的自动生成里面就有!! |
B4层 发表时间: 05-03-29 23:14 |
![]() | 回复: hackgou [hackgou] ![]() |
登录 |
char * argv[]的是指针数组,第一个指向程序本身 以后依次指向shell传递给该程序的参数。 而随之合用的一个参数是int argc,该参数表明到底有多少个参数。 比如如下test.cpp 代码: 编译并运行 #test test1 test2 test test1 test2 #test test1 test2 test3 test test1 test2 test3 |
B5层 发表时间: 05-03-30 23:06 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号