二级指针与指针数组的关系

 

 

(1)指针数组argv中每个元素都是指针,即每个元素都是字符串的首地址.因此测试1组输出结果为:
       argv[0]=0x4270ac,argv[0]=abcdefg
       argv[0]=0x426034,argv[0]=1234567
       argv[0]=0x42601c,argv[0]=q1w2e3r
   
(2)二级指针p指向指针数组argv的首地址处.因此测试1组输出结果为:
       p=0x13ff74                /*二级指针p中存放了指针数组argv所在(连续)地址空间的首地址*/
       argv[0]=0x4270ac     /*字符串0首地址*/
       &argv[0]=0x13ff74    /*字符串0首地址所在存储空间的地址*/
   可以看出,二级指针p所指向的地址与指针数组中首元素所在存储空间地址相同,均为0x13ff74.

(3)从测试2组可知,二级指针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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值