回 帖 发 新 帖 刷新版面

主题:[讨论]简单的问题(关于字符串定义)

有那位大虾可以解释下:字符串定义的啊!
比如  string1  db        50,?,50 dup(?)
它和 string db 'jkhihi'有什么区别啊!
记得老师说什么第一个单元单元是其实际长度,然后才开始存放内容.
那比如string1那个偏移地址中内容又是什么呢?

回复列表 (共3个回复)

沙发

string1  db        50,?,50 dup(?)
string1定义了52个字节,第一个字节存放50 剩下的字节没有内容
string db 'jkhihi'
定义了一个字节 其内容是jkhihi

板凳

其实我在调试之后发现区别在于读入的时候.第一个会在string1 + 1的地方
放入实际的长度.然后string1处是0似乎.然后string处就是j没有什么实际长度
的概念.

3 楼

如果你是调用0A号dos功能调用
 那么string1第一个节是存放最大的字符数
 第二个字节存放实际输入的字符数 
  然后下面存放输入的字符串  

如果你并不是用0A号DOS功能调用  那string1 只相当于定义了一个52个字节空间的变量  第一个字节存放50 然后后面51个字节不赋值 
 而string  就相当开定义了6个字节的空间
  每个字节分加存放上面的那六个字符

我来回复

您尚未登录,请登录后再回复。点此登录或注册