看贴图:
存放argv值的地址是:0xbfffef44
gdb调试中给出2个参数是:Hello World
argc应该是3 argv下标从0到2 argv[3]=NULL是char *数组的终止标志
从argv[4]到argv[75]是指向环境变量表的char *数组 argv[75]是终止标志
显示出全部的char *数组
分析内存分布:
首先:存放argv值地址是:0xbfffef44 argv值:0xbfffefd4
存放argv[0]值地址:0xbfffefd4 从此地址开始是一个连续的char *数组(从0到75) argv[75]的地址最大是:0xbffff100
存放实际字符串地址应该是从0xbffff1d6开始,地址原来越大。
这个0xbffff1d6比0xbffff100大出了0xd6个字节,显然char*数组和字符串数组是不连续的。之前调试过windows的是连续的。