前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第三章 语义陷阱

第三章 语义陷阱

作者头像
全栈程序员站长
发布2022-07-06 11:34:33
1730
发布2022-07-06 11:34:33
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是全栈君。

3.5 空指针不等于空字符串

由编译器保证0么有效的指针。

当常数0转化为指针时,这个指针不能被解引用。换句话说。当我们将0赋值给一个指针变量时,绝对不能企图使用该指针所指向的内存中存储的内容。

3.6边界计算与不正确称边界

3.7求值顺序

C语言中仅仅有四个运算符(&&。||,?:,,)存在规定的求值顺序。

逗号是先对左側表达式求值。然后丢弃该值,再对右側求值。

其它的比如a>b,编译器有可能先对a求值也有可能对b求值。

以下的程序是不正确的,由于求值顺序不定:

i=0;

while(i<n)

y[i]=x[i++];

y[i]的地址是不确定的。

3.9整数溢出

在无符号算数运算中。没有所谓的‘溢出’一说:全部的无符号运算都以2的n次方为模。n是结果中的位数。

假设算数运算中的操作数,一个是有符号整数,还有一个是无符号整数,那么有符号整数会被转换为无符号整数操作,溢出不会发生。

版权声明:本文博主原创文章,博客,未经同意,不得转载。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117129.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年1月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档