看了半天看不明白,请大家指点一下

[复制链接]
2794|12
 楼主| anazel 发表于 2011-12-31 22:02 | 显示全部楼层 |阅读模式
TI, AN, ST, rc, PCB
uchar const Line_Count = 6;
uchar code Msg[][80]=
{
  "Many CAD users dismiss",
"process of creating PCB",
"of view.with PCB layout",
"placement and track routing,",
"can often be the most time",
"And if you use circuit simulation",
"you are going to spend even more"
};

。。。。。。。。。。。。。。。。。。

uchar i,j,k = 0;
uchar *p = Msg[0];
uchar *q = Msg[Line_Count] + strlen(Msg[Line_Count]);

请问此时 *q的值是多少,怎么算出来的
airwill 发表于 2011-12-31 22:43 | 显示全部楼层
是求 q  的值吧, 单片机里好象难得这么搞的. 原因是存储器资源紧张, 这样搞太浪费!
结果 q 不就是指向 最后一个(串6)的最后, more 的后面.
fe07fe 发表于 2011-12-31 23:17 | 显示全部楼层
Line_Count = 6
Msg[Line_Count]应该="you are going to spend even more"
strlen(Msg[Line_Count]);计算字符串长度。
uchar *p = Msg[0];
uchar *q  。。。。
“p‘和”q’应该没混淆吧。
q应该是指针,前面代码因该定义了,“*”应该是取指运算符。

评分

参与人数 1威望 +1 收起 理由
anazel + 1

查看全部评分

fe07fe 发表于 2011-12-31 23:51 | 显示全部楼层
uchar code Msg[][80]=
{
  "Many CAD users dismiss",
"process of creating PCB",
"of view.with PCB layout",
"placement and track routing,",
"can often be the most time",
"And if you use circuit simulation",
"you are going to spend even more"
};
这样的二维数组不一定成立,字符数组里面有字符串,在vc里面半天没弄出来。
存储字符串建议用数据结构---链表,在单片机中觉得不可能。
weshiluwei6 发表于 2011-12-31 23:55 | 显示全部楼层
支持 支持啊 我不懂
weshiluwei6 发表于 2011-12-31 23:56 | 显示全部楼层
 楼主| anazel 发表于 2012-1-1 07:23 | 显示全部楼层
Line_Count = 6
Msg[Line_Count]应该="you are going to spend even more"
strlen(Msg[Line_Count]);计算字符串长度。
uchar *p = Msg[0];
uchar *q  。。。。
“p‘和”q’应该没混淆吧。
q应该是指针,前面代码因 ...
fe07fe 发表于 2011-12-31 23:17

那Msg[0]应该="Many CAD users dismiss"吧,p的值是Msg[0]的首地址,q的值是最后一个字符串的最后,more的后面的地址,是这么理解吗?
nj21ic 发表于 2012-1-1 10:11 | 显示全部楼层
more的后面的地址
沈老 发表于 2012-1-1 16:16 | 显示全部楼层
"you are going to spend even more"
|<-=Msg[6]                                    +|<-strlen(Msg[6]);
uchar *q指向80个char的无用处?干什么?
fe07fe 发表于 2012-1-1 18:27 | 显示全部楼层
这个二维数组用指针表示有点复杂,一般都用到什么双指针,**p,这个我也不太熟练,
刘前辈 发表于 2012-1-1 18:29 | 显示全部楼层
很简单,算一下即可。每行80字节,最后一行指向80X6=0x1E0;加上最后一行长度32字节,等于0x200。q 等于指针+偏移,所以指向0x0203.




//

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

参与人数 1威望 +1 收起 理由
li09 + 1 很给力!

查看全部评分

 楼主| anazel 发表于 2012-1-2 23:12 | 显示全部楼层
非常感谢楼上细致的回答,给我生动的上了一课
 楼主| anazel 发表于 2012-1-2 23:19 | 显示全部楼层
本帖最后由 anazel 于 2012-1-3 21:28 编辑


q的值根据您的算法非常正确,为0x0237,可是观察窗中*p= 0x4D, 也就是字符“M”,*q = 0x00,非常感谢,明白一点儿了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

448

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部