sizeof的计算
答案:5 悬赏:50 手机版
解决时间 2021-03-28 09:16
- 提问者网友:一抹荒凉废墟
- 2021-03-27 18:33
sizeof的计算
最佳答案
- 五星知识达人网友:动情书生
- 2021-03-27 19:12
sizeof,Pascal的一种内存容量度量函数:C语言中判断数据类型或者表达式长度符;不是一个函数,字节数的计算在程序编译时进行,而不是在程序执行的过程中才计算出来。
Pascal中用法:
Var
a:array[1..10000]oflongint;
Begin
Writeln(SizeOf(a));
End.
输出:
40000
如果定义Integer,则输出:
20000
C语言中:
判断数据类型长度符的关键字
用法
sizeof(类型说明符,数组名或表达式);
或sizeof 变量名
定义
sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数。
MSDN上的解释为:
The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type(including aggregate types). This keyword returns a value of type size_t.
其返回值类型为size_t,在头文件stddef.h中定义。这是一个依赖于编译系统的值,一般定义为typedef unsigned int size_t;
世上编译器林林总总,但作为一个规范,它们都会保证char、signed char和unsigned
char的sizeof值为1,毕竟char是我们编程能用的最小数据类型。
语法
sizeof有三种语法形式,如下:
sizeof(object);//sizeof(对象);
sizeof(type_name);//sizeof(类型);
sizeofobject;//sizeof对象;
所以,
int i;
sizeof(i);//ok
sizeof i;//ok
sizeof(int);//ok
sizeofint;//error
Pascal中用法:
Var
a:array[1..10000]oflongint;
Begin
Writeln(SizeOf(a));
End.
输出:
40000
如果定义Integer,则输出:
20000
C语言中:
判断数据类型长度符的关键字
用法
sizeof(类型说明符,数组名或表达式);
或sizeof 变量名
定义
sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数。
MSDN上的解释为:
The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type(including aggregate types). This keyword returns a value of type size_t.
其返回值类型为size_t,在头文件stddef.h中定义。这是一个依赖于编译系统的值,一般定义为typedef unsigned int size_t;
世上编译器林林总总,但作为一个规范,它们都会保证char、signed char和unsigned
char的sizeof值为1,毕竟char是我们编程能用的最小数据类型。
语法
sizeof有三种语法形式,如下:
sizeof(object);//sizeof(对象);
sizeof(type_name);//sizeof(类型);
sizeofobject;//sizeof对象;
所以,
int i;
sizeof(i);//ok
sizeof i;//ok
sizeof(int);//ok
sizeofint;//error
全部回答
- 1楼网友:野味小生
- 2021-03-27 22:10
这个很简单的,sizeof(n)中不管n为多少,只要n的类型还是int型,sizeof(n)永远都是等于4,记得有空看下sizeof跟strlen的区别,这是很常见的问题,查看下资料自己深刻理解下吧!
- 2楼网友:深街酒徒
- 2021-03-27 22:02
sizeof是c语言的关键字,测试各种类型长度用的。a和b都是int类型,a×4和b×4还是int型,所以是4个字节。
- 3楼网友:人類模型
- 2021-03-27 21:34
sizeof是长度运算符,sizeof(常量)的值为常量在内存中所占的字节数。20是int型,int型在内存中占4个字节,所以结果是4。
- 4楼网友:未来江山和你
- 2021-03-27 20:07
sizeof是计算数据长度的,a和b是整型(int)数据,为4个字节,就算a*4,b*4,它得出来的结果还是整型类型的数绝,依然为4个字节,所以sizeof(a*4)为4,sizeof(b*4)为4.
x=((a=3)>(b=5))?sizeof(a*4):sizeof(b*4);这一句的过程是:
先是a=3,b=5的赋值运算。3不大于5很明显,所以取后面第二个运算式子sizeof(b*4)的值4作为结果赋给整型变量x。最后输出x。
x=((a=3)>(b=5))?sizeof(a*4):sizeof(b*4);这一句的过程是:
先是a=3,b=5的赋值运算。3不大于5很明显,所以取后面第二个运算式子sizeof(b*4)的值4作为结果赋给整型变量x。最后输出x。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯