问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

WIN32汇编语言中定义字符串末尾为什么要这样加零?

发布网友 发布时间:2022-04-20 15:06

我来回答

5个回答

热心网友 时间:2023-07-09 07:34

C语言中标准字符串的结尾

对C语言或者汇编语言的字符串来说,只用一个基本数据类型去表示一个字符串,这会存在一个问题,那就是无法保存这个字符串的长度,换句话说我们不知道一个字符串是在哪里结束的。

所以C语言就规定以 0(或者'\0' 本质上就是数字0)来表示一个字符串的结尾,这样就可以用一个基本数据类型去表示一个字符串了,字符串处理函数 strcat这些都是以这个0做为字符串结尾判定标致的,当然这个规则也被用在了汇编中(因为现在的汇编都要尽量与上层兼容,早期DOS时代的结束符是美元号$)。现在一般把这种字符串叫做ANSI字符串!

在高级编程语言比如C# C++中 有专门处理字符串的数据类型,实际上都有一个字段是用来保存长度或者结束位置的。

纯自己手打

热心网友 时间:2023-07-09 07:34

这里这个0代表就是结束或“空”的意思,相当于NULL,也就是数值0x00.

热心网友 时间:2023-07-09 07:35

hello是单词。最后会加0,这个0是字符串结束字符,以后处理的时候有用。

热心网友 时间:2023-07-09 07:35

用 C 语言定义字符串时,编译软件会自动在字符串的末尾,加上一个零。
作为字符串结束的标记。

用汇编的 DB 伪指令定义字符串,编译软件就没有自动加上零的功能。
如果编程者想要加上零,就必须在程序中,自己加上零。
这就是《汇编语言db 'hello',0中0的意思》。

热心网友 时间:2023-07-09 07:36

就是普通数据: 0
没有什么忒别含义
db 'hello',0
经过汇编编译后,生成数据:
68 65 6C 6C 6F 00
h e l l o 0
最后两个0就是代码db 'hello',0中0的编译结果
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 楼梯的水泥台阶上可以铺地板革吗 手机腾讯会议共享屏幕播放视频没声 腾讯会议共享屏幕没声音怎么办 汇编语言 自定义一个字符串,在字符串中寻找"aa" 有... 在keil中如何用汇编语言定义一串字符串位于内部RAM... 如何汇编语言定义变量 汇编语言字符串定义问题 汇编语言中$是什么意思 汇编语言 小问题 定义一个字符串 string BYTE "hel... 汇编语言的命名规则是什么啊?急急急!!!!!! 汇编语言中能在一个变量里同时定义多个不同的字符串吗 汇编语言中,要定义如下的字符串对不对?一个是正... 汇编,定义字节数据和定义字符串 (汇编)关于汇编语言的字符串??? 汇编语言怎么定义字符串数组,怎么调用 在汇编语言中 怎样定义回车这个字符 vivoy51可以运行多大的内存卡? vivo y51这款手机适合玩游戏嘛 我的vivoy51是啥配置的 y51s手机参数配置怎么样? vivo. y51的像素是多少万 vivoy51配置是多少相素是多少 vivo Y51手机分辨率像素是多少 汇编语言中的标号有什么规定? 用汇编语言实现将定义的字符串中,大写字母换小写... 汇编中$是什么意思 汇编语言定义符号常量是否占用地址单元? 怎样把qq音乐里的歌曲下载到桌面上手摇发电机的科... 手机版qq音乐歌词怎么把歌词放到桌面上 怎么把QQ音乐里的音乐弄到桌面上 如何把QQ音乐播放器里的其中一首歌下载到桌面 怎样把qq音乐上的歌以快捷方式弄到桌面上 怎么把QQ上的QQ音乐移到桌面上啊? 如何把QQ音乐的歌词弄到桌面上 电脑怎么做视频剪辑合成 怎么合并视频,剪辑视频? 视频怎么剪辑合成 如何学会剪辑视频 如何做视频剪辑合成? 怎样用手机剪辑合成视频 怎么编辑视频合成? 戴尔笔记本没声音了如何恢复 为什么戴尔笔记本放歌时扬声器没有声音?