| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1013 人关注过本帖, 1 人收藏
标题:求助 :指针数组 和数组指针 的问题
只看楼主 加入收藏
丶倾城
Rank: 2
等 级:论坛游民
帖 子:11
专家分:23
注 册:2010-12-8
收藏
得分:0 
一天了还没整完啊- -打酱油。。。
2010-12-10 09:09
丶倾城
Rank: 2
等 级:论坛游民
帖 子:11
专家分:23
注 册:2010-12-8
收藏
得分:0 
太麻烦  自己调试一遍看吧
2010-12-10 09:16
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
#include <stdio.h>
void main()
{


char *str[]={"Welcome","to","Fortemedia","Nanjing"}; //开始时str是下面数组的第一个值:
//{第一个字符串的首地址的存放地址,第二个字符串的首地址的存放地址,第三个字符串的首地址的存放地址,第四个字符串的首地址的存放地址}



char **p = str + 1;//p是下面数组的第一个值:
//{第二个字符串的首地址的存放地址,第三个字符串的首地址的存放地址,第四个字符串的首地址的存放地址}


str[0] = (*p++) + 2; //str1[0]被改变了
//此后*p被改变了       其值为第三个字符串的首地址


str[1] = *(p+1);//str[1]被改变了 其值为第四个字符串的首地址
//此时p的值还是第三个字符串的首地址的存放地址 即*p(或者说p[0])对应str[2]

str[2] = p[1] + 3; //p[1]:在元素是字符串三(p是其首地址)的基础之上+1的 即等价于*(p+1)
//此后str[2]等于字符串四中j的地址       也就是p所保存的地址

str[3] = p[0] + (str[2] - str[1]);//由上一语句str+2, str[2]与p的关系可得

printf("0%s1%s2%s3%s\n",str[0],str[1],str[2],str[3]);

}

我是初学者
2010-12-10 11:05
sun004715
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2010-10-30
收藏
得分:0 
回复 9楼 Kid_X
p[0] 等于str[2] 即 “Fortemedia” 首地址   p[0] + 3 等于 t 啊?
2010-12-10 11:51
快速回复:求助 :指针数组 和数组指针 的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017752 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved