http://blog.csdn.net/shuaishuai80/article/details/6129742
(1)指针数组argv中每个元素都是指针,即每个元素都是字符串的首地址.因此测试1组输出结果为:
argv[0]=0x4270ac,argv[0]=abcdefg
argv[1]=0x426034,argv[1]=1234567
argv[2]=0x42601c,argv[2]=q1w2e3r
(2)二级指针p指向指针数组argv的首地址处.因此测试2组输出结果为:
p=0x13ff74 /*二级指针p中存放了指针数组argv所在(连续)地址空间的首地址*/
argv[0]=0x4270ac /*字符串0首地址*/
&argv[0]=0x13ff74 /*字符串0首地址所在存储空间的地址*/
可以看出,二级指针p所指向的地址与指针数组中首元素所在存储空间地址相同,均为0x13ff74.
(3)从测试3组可知,二级指针p中存放了指针数组argv所在(连续)地址空间的首地址,换句话说,二级指针p中存放的是地址,所以,*p是该地址中的内容,即字符串0的首地址.因此测试3组输出结果为:
*p=abcdefg
*(p+1)=1234567
*(p+2)=q1w2e3r
(4)从测试2组可知,二级指针p中存放了指针数组argv所在(连续)地址空间的首地址,因此测试4组输出结果为:
(*p)=abcdefg
(*p+1)=bcdefg
(*p+2)=cdefg
(5)从测试2组可知,二级指针p中存放了指针数组argv所在(连续)地址空间的首地址,因此测试5组输出结果为:
p=0x13ff74
argv=0x13ff74
&argv[0]=0x13ff74
&argv[1]=0x13ff78
&argv[2]=0x13ff7c
再次验证了二级指针p与指针数组中各成员之间的关系.
(6)由于是指针型数据,因此测试6组输出结果为: sizeof(argv)=4