Chinaunix首页 | 论坛 | 博客
  • 博客访问: 314028
  • 博文数量: 57
  • 博客积分: 146
  • 博客等级: 入伍新兵
  • 技术积分: 769
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-29 14:57
文章分类
文章存档

2014年(39)

2013年(13)

2012年(5)

我的朋友

发布时间:2014-06-27 11:34:44

1整数转换(包括隐式和显式(使用强制转换)),必须保证不会导致丢失或曲解数据。C99规定:a.当整数类型的值转换为另一个整数类型除了_Bool,如果该值可以被另一种类型表示,它的值是不变的。b.否则如果新类型是无符号的,则该值是通过反复增加或减去MAX+1(MAX是新类型可表述的最大值),直到该值在新类型的范围内。c.否.........【阅读全文】

阅读(678) | 评论(0) | 转发(0)

发布时间:2014-06-26 14:25:25

OS;32bit ubuntu整型转换的规则:1.整形提升若变量的原型都能用int描述的话,其值范围小于INT_MAX的话就转换有符号int,其值范围大于INT_MAX的话就转换成无符号int。点击(此处)折叠或打开char c1, c2;c1 = c1 + c2 整型提升要求每个变量都提升为int大小。两个in.........【阅读全文】

阅读(673) | 评论(0) | 转发(0)

发布时间:2014-06-25 16:33:16

环境:32位 ubuntu整数值可以因为异常情况(溢出,截断或符号错误)失效,导致可利用的漏洞。1.使用size_t表示一个对象的大小的所有整数值size_t为无符号整数类型。错误代码:点击(此处)折叠或打开char *copy(size_t n, char *str) {int i;if(p == NULL) {.........【阅读全文】

阅读(524) | 评论(0) | 转发(0)

发布时间:2014-06-24 14:24:56

1.Do not modify constant valuesC99标准中说:若通过非const型左值修改const类型的对象,该行为是未定义。点击(此处)折叠或打开char const **cpp;char *cp;char const c = 'A';cpp = &cp; /* constraint violation */*cpp = &c; /*.........【阅读全文】

阅读(431) | 评论(0) | 转发(0)

发布时间:2014-06-18 15:52:42

1.使用括号确保表达式执行顺序: 表达式:x与1相与后判断是否等于0. 错误表达式:点击(此处)折叠或打开x & 1 == 0 因为==操作符的优先级高于&,表达式会先进行(1==0)操作,最后进行(x&0)操作。 正确表示:点击(此处)折叠或打开(x & 1) == 0 .........【阅读全文】

阅读(396) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册