C和指针前六章之第三章~数据
来源:互联网 发布:淘宝市场 编辑:程序博客网 时间:2024/05/16 04:27
在头文件 limits.h 中定义了上表中各个整形数的范围。同时还有 CHAR_BIT(至少是8位),MB_LEN_MAX 规定一个多姿接字符最多允许的字符数量。多字节字符常量在不同的环境中实现可能不一样,所以不鼓励使用。
关于数据缺省值:char 在不同的编译器中不定。(我用的gcc中默认是signed char)
显式声明char类型会带来兼容性问题。还有,只有当char型变量显式声明为signed 或 unsigned 时, 才对它执行算术运算。
负号被解释为单目操作符而不是整数值的一部分,实践中没有什么意义。
头文件float.h定义了名字FLT_MAX、DBL_MAX、LDBL_MAX、FLT_MIN、DBL_MIN、LDBL_MIN分别表示float、double、longdouble型的范围。
浮点数字面值在缺省情况下都是double类型的,除非它的后面跟一个L或l表示它是一个long double类型的值, 或者跟一个F或f表示它是一个float类型的值。
字符串常量:
K&R C 具有相同的值的不同字符串常量在内存中是分开存储的,因此许多编译器允许程序修改字符串常量。
ANSI C 则声明如果对一个字符串修改其效果是未定义的。它也允许编译器把一个字符串常量存储于同一个地方,即使它在程序中多次出现。因此你需要修改字符串,清把它存储于数组中。
数组的一个经验法则:如果下标值是从那些已知是正确的值计算得来,那就无需检查它的值。如果一个用作下标的值是根据某种方法从用户输入数据产生而来的,那就在使用之前必须进行检测,确保它们位于有效范围之内。
常量:
#define MAX_ELENMENTS 50
int const max_elenments = 50
在这种情况下,使用#define比使用const变量更好。因为只要允许使用字面值常量的地方都可以使用前者,比如声明数组的长度。const 变量只能用于允许使用变量的地方。
函数的形式参数不能声明为静态,因为实参总是在堆栈中传递给函数,用于支持递归。
修改变量的存储类型并不表示修改变量的作用域。
在声明变量的同时进行初始化和先声明后赋值只有风格之差,并无效率之别。
- C和指针前六章之第三章~数据
- 第三章 数据 [C和指针]
- 读书笔记---C和指针---第三章---数据
- 《C和指针》第三章 数据
- 《c和指针》 第三章 数据(1)
- C和指针 学习笔记——第三章 数据
- 《C和指针》 第三章 数据(2)
- 【笔记】C与指针 第三章 数据
- 第三章 - 数据和C
- 第三章 数据和C
- C和指针读书笔记(第三章)
- 《C和指针》第三章学习摘要
- C和指针第三章--编程练习
- C和指针第三章 笔记
- C和指针小结前六章之第六章~指针
- 【C++】第三章:变量和数据
- 第三章 数据和C(二)
- 第三章 数据和C(一)
- Eclipse下运行Tomcat源码工程
- 1. c++中string到int的转换
- Android入门之TimePickerDialog(纯java)
- 笔记本用户使用键盘时屏蔽触摸屏的方式
- 读书笔记(第十六讲)OVERLOAD
- C和指针前六章之第三章~数据
- c/c++ 源代码网站
- 协作安装程序应用一例
- 多线程中共享对象,创建线程安全类(线程安全又控制不好咧~~~)
- 为什么中国的程序员技术偏低
- usb驱动自安装程序的制作
- Ubuntu中超级用户的问题
- 烂笔头——crontab运行失败片面解决方案
- 读书笔记(第十七讲)constructor overload & inhertence