基础很重要

      昨晚一个群里有个TX贴出一段代码,问为什么会老是崩溃,看着代码不复杂,就拷出来看了一看,觉得自己花点时间还是能帮助他的,顺便满足一下自己的虚荣心,结果花的时间可不少。最后程序是调好了,却解释不了为什么。原以为是他在分配内存空间的时候用的length = sizeof(char* str) + 1 因为包含了最后一个结束符所以分配出的空间比预期的要多一个字节,导致后面的strcpy(m_p,str)的时候,最后一个字节的空间不可用,所以delete才失败,并且程序崩溃。今天上班拿出来跟同事讨论,谁知道人家一眼就看出问题所在,sizeof(char* str)的时候根本分配的就不是字符串大小的空间,而就是一个指针变量的长度,事实上就分配了4+1个字节的空间,所以后面的strcpy()很明显就越位拷贝了,导致程序崩溃。

      其实这应该算是很基础的知识了,可是昨晚我和我一朋友讨论半天也没有弄明白具体是什么原因,这就是基础太薄弱的表现。那个朋友今天上午去一家软件公司面试,也是被劈头盖脸的基础题整得自信心大受打击。我想要是想在这个领域有长远的发展,不要光是靠跳槽的次数来增加自己的身家,这样被证明其实也是不可行的。最最基本的东西还是先要掌握牢的,不要自认为有几年工作经验,不要以为做过多少多少项目,基础不好,其实你离牛人,甚至是初级的程序员可能都相差甚远。基础啊基础!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值