数据类型定义的重要性
来源:互联网 发布:网络销售总结怎么写 编辑:程序博客网 时间:2024/05/16 14:34
C语言的数据类型有明确的值域,例如unsigned char类型范围为0~255,而char类型为-127~127,必须分清楚每一种数据类型的值域范围,分清楚有符号数与无符号数的区别,否则类型定义不当很容易造成程序异常,例如
在上面的例子中,ch是unsigned char型,因此最大值为255,而执行for(ch = 0; ch <= UCHAR_MAX; ch++)最后一次循环ch++后将出现溢出翻转,导致出现死循环。
#define UCHAR_MAX 255 char ch_to_lower[UCHAR_MAX + 1]; void build_to_lower_table(void) { unsigned char ch; for(ch = 0; ch <= UCHAR_MAX; ch++) { ch_to_lower[ch] = ch; } for(ch = 'A'; ch <= 'Z'; ch++) { ch_to_lower[ch] = ch + 'a' - 'A'; } }
在上面的例子中,ch是unsigned char型,因此最大值为255,而执行for(ch = 0; ch <= UCHAR_MAX; ch++)最后一次循环ch++后将出现溢出翻转,导致出现死循环。
0 0
- 数据类型定义的重要性
- 数据类型的重要性
- 关于数据库备份的定义和重要性
- 关于数据库备份的定义和重要性
- STM32 理解宏定义的重要性
- 不熟悉数据类型的定义
- TI 数据类型的定义
- 数据类型的定义
- 抽象数据类型的定义
- 数据类型的定义
- 栈的数据类型定义
- 修改用户定义的数据类型
- 用户定义的数据类型转换
- 修改用户定义的数据类型
- VC扩充定义的数据类型
- 定义跨平台的数据类型
- 创建用户定义的数据类型
- Windows自己定义的数据类型
- JQuery Easy Ui dataGrid 数据表格
- Android文档笔记:通知(二)
- 工厂模式C++11泛型实现
- 页面的自动刷新以及跳转
- 使用windbg检测内存泄漏
- 数据类型定义的重要性
- jquery easyui 验证框的使用
- 提交表单--获取表单中的数据值
- 最大值最小化 二分查找
- JAVA之编码/解码 -- 各种环境下可能会发生的乱码问题及解决方案(转载)
- Android 中判断一个程序是否为输入法程序
- SQLite的性能优化
- 关于Android应用的Log检查
- sp3 文件格式说明