简而言之C语言:“char类型省空间”只是一个传说
2010-01-26 14:19
274 查看
机器字往往为16bit或32bit,内存地址最少为2字节(byte)对齐,一般为4字节,声明为char类型的变量或数组,编译器仍然按偶数对齐,无法对齐的字节则自动填充,所以声明为char类型(尤其是数组)不但达不到节省空间的目的,反而有字节对齐及地址运算错误的风险,在嵌入式编程中,应该被禁止。
相关文章推荐
- 2.4 分别定义bool,char类型的变量各一个,并依次输出它们的存储空间大小
- c语言 char*类型作为中间变量将许多字符串保存到一个数组的问题
- 练习2-1 编写一个程序一确定分别由signed及unsigned限定的char,short,int及long类型变量的取值范围。采用打印标准头文件中的相应值以及直接计算两种方式实现。通过直接计算来确定浮点类型的取值范围是一项难度很大的任务。
- Oracle bug 使用max或min函数into到一个char类型报字符缓冲区太小的错误
- C语言之char类型研究
- 【C语言】有一个字符串是:student a am i.现编写代码使其输出为i am a student.(要求其空间复杂度为O(1))
- C语言中标识符的作用域、命名空间、链接属性、生命周期、存储类型
- 【c语言】编写一个函数reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列。
- C语言中int,duoble数据转换为char类型
- 【C语言】编写一个函数reverse_string(char * string) 实现:将参数字符串中的字符反向排列。要求:不能使用C函数库中的字符串操作函数。
- C语言 编写一个函数reverse_string(char * string) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数。
- 有关c语言数据类型转换之char,unsigned char,unsigned short
- 批量将一个库里的所有表里的char改成nchar类型
- 【c语言】实现对一个8bit数据(unsigned char 类型)的指定位(例如第n位)置0或者置1操作,并保持其他位不变
- C语言中标识符的作用域、命名空间、链接属性、生命周期、存储类型
- struts2 result类型为redirectAction时,跳转转到另一个包空间里的一个action的指定处理方法的xml配置
- JavaSE7基础 char类型的变量存储一个汉字
- android典型代码系列(十八)------把java中的jstring的类型转化成一个c语言中的char字符串
- hibernate查询数据表char类型字段只返回一个字符
- hibernate查询数据表char类型字段只返回一个字符