MIPS:.asciiz的大小?

时间:2016-06-30 15:22:17

标签: mips mips32 spim

  

在确定.asciiz字符串的大小时,我应该参与进来   考虑终止字符?

例如:

.data
string: .asciiz "Hello"

"字符串"的大小是5还是6(字节)?

提前谢谢。

4 个答案:

答案 0 :(得分:2)

如果你问的是字符串存储在内存中的字节数那么它是6个字节

如果你问的是一个计算字符串长度的函数应该返回什么(例如strlen C函数)它应该是5

答案 1 :(得分:1)

这个特殊的asciiz字符串需要6个字节的存储空间。

在编程情况下,您将测量字符串大小为5.如strlen()

使用此字符串很可能时,您的循环将测试NULL条件,并将运行5次迭代。

复制时,存储此字符串,您的代码可能会循环5次,然后(在循环之外),添加一个额外的NULL' \ 0'最后的字符,以保持NULL终止。因此,目标存储空间必须比strlen()多1个。

答案 2 :(得分:1)

同意Robert,在这种情况下,内存中的字节总数为6.然而,Paxym解释说,在高级语言中,它将测量字符串' size'是5。

答案 3 :(得分:-2)

ascii的每个字符都是1个字节。如果你写你好,它是5字节