本文目录一览:
- 1、在C语言中5种基本数据类型的存储空间长度的排列顺序
- 2、7、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为 。
- 3、C语言的内存地址是按什么顺序排列的:比如是按从大到小还是内存自动分配的,请举例
在C语言中5种基本数据类型的存储空间长度的排列顺序
对.
类型名 变量字节 取值范围
[singned]char 1 -128~127
ungsigned char 1 0~255
[singned] long int 4 -2147483648~2147483647
unsiged long [int] 4 0~4294967295
float 4 -3.4E38~3.4E38 7个有效位
double 8 -1.7E308~1.7E308 15个有效位
7、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为 。
5种基本数据类型的存储空间长度的排列顺序为:charintlong int=floatdouble。
char(字符型)的存储空间大小为1个字节,int(整数型)的存储空间大小为2个字节,long int(长整数型)的存储空间大小为4个字节,float(单精度型)的存储空间大小为4个字节,double(双精度型)的存储空间大小为8个字节。
所以charintlong int=floatdouble,结果选择A。
扩展资料:
强制类型转换是通过类型转换运算来实现的。其一般形式为:(类型说明符)(表达式)其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。
自动转换是在源类型和目标类型兼容以及目标类型广于源类型时发生一个类型到另一类的转换。例如: (float) a 把a转换为浮点型,(int)(x+y) 把x+y的结果转换为整型。
参考资料来源:百度百科-数据类型
参考资料来源:百度百科-C语言类型强制转换
C语言的内存地址是按什么顺序排列的:比如是按从大到小还是内存自动分配的,请举例
您问的具体是什么?
(1)是地址编号和集成电路里面(用显微镜看)各个单元的位置次序之间的关系?
(2)还是问程序中各个指令代码执行的次序和地址编号之间的关系?
(3)还是问程序中各个变量的次序和地址编号之间的关系?
如果是(1),那么
集成电路里面各个单元的位置次序,一般是不公开的。所以人们不知道它的次序是从左到右还是从右到左还是别的方式。据说,现在的布局大多是交叉分散排列的,因为程序中经常出现连续访问连续地址的操作,如此分散排列,可以使功耗分散,减小局部温升,延长器件寿命。
如果是(2),那么
一般的指令,除了跳转指令和调用、返回指令以外,普通指令都是按照地址连续增加的次序,连续排列的。而且,汇编语言中书写程序清单的次序,除了使用特殊伪指令规定地址(如ORG指令)处以外,都是按照地址编号连续增加的次序书写的。如此,除跳转、调用、返回指令外,书写的次序就是执行的次序。
如果是(3),那么
用汇编语言设计程序时,你可以随自己习惯,觉得怎么安排方便,就怎么安排。
如果是高级语言,那么,不同的编译程序,可以有所不同。
不过,如果是C语言,那么数组内部各个下标变量的地址,必须是按照下标由小到大地址也由小到大的次序连续安排。这是因为,C语言中,对指针的运算有严格规定。
例如p是指向整数的指针,则p+2就应该等于指向p所指的整数变量后面第二个整数变量的指针。于是(p+2)相应的物理地址,就应该等于p相应的物理地址加上2倍int变量的长度。 而对于数组,又是按照指针的概念来规定的。例如:a[2]就和*(a+2)完全等效。