搜索
bottom↓
回复: 15

数组最后一个不可见元素难道不是null?

[复制链接]

出0入0汤圆

发表于 2017-5-16 00:01:33 | 显示全部楼层 |阅读模式
本帖最后由 沉默胜过白金 于 2017-5-16 09:48 编辑

haha1[5]

haha2[6]

两个数组,为什么使用显示字符串时,判断条件为是否为null,

数组haha1可以正常显示,数组haha2则刹不住了,后面出来一串乱码。

于是,我调换了一下位置,先定义haha2,后定义haha1,这样,haha2显示后,

紧接着把haha1也显示了。出现这个的原因我怀疑是haha2后面不可见的那个空字符,也就是结束符不起作用或者没有了,

但是虽然这么想,但也不太可能,大伙伴那你分析下咋回事。


20170516   09点44更新。

不是说定义了字符长度为5的数组,假设haha[5],那么编译器实际开辟的是一个字符长度为6的内存,用户只可写0到4五个元素,最后一个元素不可操作,但默认是结束符。

上面的这个,在哪里见过,忘了出处了,好像是郝斌c语言,也许是我记错了,这可能是字符串的定义。请大伙再次证实下。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2017-5-16 00:25:58 来自手机 | 显示全部楼层
数组不是字符串 字符串是数组。我C语言不好,乱说的

出0入0汤圆

发表于 2017-5-16 00:50:13 | 显示全部楼层
肯定是把'\0'干掉了,找找哪里越界访问了吧

出130入129汤圆

发表于 2017-5-16 00:52:50 来自手机 | 显示全部楼层
数组跟字符串

出0入618汤圆

发表于 2017-5-16 01:51:35 | 显示全部楼层
你都没把赋值语句贴出来,谁知道你赋了什么鬼进去。

出0入93汤圆

发表于 2017-5-16 06:58:33 | 显示全部楼层
不管是字符串还是数组,C语言都没有规定“最后一个不可见元素是null”。字符串只规定了'\0'表示字符串结束了,鬼才管后面还有什么东西呢。

出0入0汤圆

发表于 2017-5-16 07:57:52 | 显示全部楼层
看了几个回答,LZ只能去问鬼了;
可以先看看字符串和数组之后再问;

出0入8汤圆

发表于 2017-5-16 08:03:19 | 显示全部楼层
谁给你说的数组最后一个元素 一定是null,你给它什么值 他就是什么值。 这个问题 应该问你自己。

出0入31汤圆

发表于 2017-5-16 08:06:10 来自手机 | 显示全部楼层
数组哪有最后一个不可见元素之说?岂不是越界了,大大地危险!

出0入0汤圆

发表于 2017-5-16 09:18:01 | 显示全部楼层
数组只是一段内存空间,你写什么进去就是什么,你把数组和字符串搞混了,再去看看基础吧

出0入4汤圆

发表于 2017-5-16 09:24:24 | 显示全部楼层
数组和字符串是不一样的

出0入0汤圆

发表于 2017-5-16 09:30:38 | 显示全部楼层
很肯定的告诉你,数组没有最后一个不可见元素,假设有,也不一定是null。第一次听到不可见元素这个名词

出0入30汤圆

发表于 2017-5-16 09:37:30 | 显示全部楼层
同楼上。数组何来最后一个不可见元素之说?字符串倒是必须以 '/0'结束。

出0入0汤圆

发表于 2017-5-16 10:04:31 | 显示全部楼层
数组的每个元素都是可见的 越界的那是在数组之外了

出0入4汤圆

发表于 2017-5-16 11:21:41 | 显示全部楼层
楼主还没分清楚字符串和数组的区别与联系

出0入618汤圆

发表于 2017-5-16 14:27:02 | 显示全部楼层
楼主刚学C?C语言没有“最后一个元素不可操作”这个说法,你喜欢的话可以一直写下去,直到把栈都改写掉,然后程序就返回到别的地方去了,这就叫buffer overflow。
如果你精心设计写入的内容,让程序返回到特定的地方,程序说不定就会变得奇怪,例如把电脑里的文件全部加密……
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 03:34

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表