首页 > 编程知识 正文

sizeof测试字节数编程,linux内核堆栈跟踪

时间:2023-05-03 07:56:33 阅读:118219 作者:4344

? 1、什么是sizeof

让我们先来看看sizeof在msdn中的定义:

thesizeofkeywordgivestheamountofstorage,in bytes,associatedwithavariableoratype (includingagggregatetypes ).thiskeywordred

看到return这个词,想到函数了吗? 错了。 sizeof不是函数。 你见过没有括号就把参数传递给函数吗? 因为可以sizeof,所以sizeof不是函数。 网上说sizeof是一元操作器,但我不这么认为。 因为sizeof就像在编译阶段评估的特殊宏。 举个例子:

出局了

出局了

在编译阶段,翻译如下。

cout4

cout1

这里有陷阱。 请看下面的步骤。

int a=0;

出局了

出局了

为什么输出是4,0而不是预期的4,3? 处于sizeof在编译阶段处理的特性。 因为sizeof不能编译成机器码,所以sizeof作用的范围内,也就是()的内容也不能编译,而是被类型代替。=因为操作符返回左操作数的类型,所以a=3相当于int,代码也替换为:

int a=0;

cout4

出局了

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。