永发信息网

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
全部回答
  • 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。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯