打印

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

[复制链接]
2160|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里面半天没弄出来。
存储字符串建议用数据结构---链表,在单片机中觉得不可能。

使用特权

评论回复
5
weshiluwei6| | 2011-12-31 23:55 | 只看该作者
支持 支持啊 我不懂

使用特权

评论回复
6
weshiluwei6| | 2011-12-31 23:56 | 只看该作者
:)

使用特权

评论回复
7
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的后面的地址,是这么理解吗?

使用特权

评论回复
8
nj21ic| | 2012-1-1 10:11 | 只看该作者
more的后面的地址

使用特权

评论回复
9
沈老| | 2012-1-1 16:16 | 只看该作者
"you are going to spend even more"
|<-=Msg[6]                                    +|<-strlen(Msg[6]);
uchar *q指向80个char的无用处?干什么?

使用特权

评论回复
10
fe07fe| | 2012-1-1 18:27 | 只看该作者
这个二维数组用指针表示有点复杂,一般都用到什么双指针,**p,这个我也不太熟练,

使用特权

评论回复
11
刘前辈| | 2012-1-1 18:29 | 只看该作者
很简单,算一下即可。每行80字节,最后一行指向80X6=0x1E0;加上最后一行长度32字节,等于0x200。q 等于指针+偏移,所以指向0x0203.




//

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
li09 + 1 很给力!
12
anazel|  楼主 | 2012-1-2 23:12 | 只看该作者
非常感谢楼上细致的回答,给我生动的上了一课

使用特权

评论回复
13
anazel|  楼主 | 2012-1-2 23:19 | 只看该作者
本帖最后由 anazel 于 2012-1-3 21:28 编辑


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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

448

帖子

2

粉丝