主题:[讨论]简单的问题(关于字符串定义)
yogafrank
[专家分:440] 发布于 2007-04-12 19:42:00
有那位大虾可以解释下:字符串定义的啊!
比如 string1 db 50,?,50 dup(?)
它和 string db 'jkhihi'有什么区别啊!
记得老师说什么第一个单元单元是其实际长度,然后才开始存放内容.
那比如string1那个偏移地址中内容又是什么呢?
回复列表 (共3个回复)
沙发
小牛斑斑 [专家分:1210] 发布于 2007-04-13 19:00:00
string1 db 50,?,50 dup(?)
string1定义了52个字节,第一个字节存放50 剩下的字节没有内容
string db 'jkhihi'
定义了一个字节 其内容是jkhihi
板凳
yogafrank [专家分:440] 发布于 2007-04-13 23:20:00
其实我在调试之后发现区别在于读入的时候.第一个会在string1 + 1的地方
放入实际的长度.然后string1处是0似乎.然后string处就是j没有什么实际长度
的概念.
3 楼
lt1234 [专家分:470] 发布于 2007-04-15 11:41:00
如果你是调用0A号dos功能调用
那么string1第一个节是存放最大的字符数
第二个字节存放实际输入的字符数
然后下面存放输入的字符串
如果你并不是用0A号DOS功能调用 那string1 只相当于定义了一个52个字节空间的变量 第一个字节存放50 然后后面51个字节不赋值
而string 就相当开定义了6个字节的空间
每个字节分加存放上面的那六个字符
我来回复