相关疑难解决方法(0)

在C/C++中sizeof()的机制是什么?

看来sizeof不是真正的功能吗?

例如,如果你这样写:

int i=0;
printf("%d\n", sizeof(++i));
printf("%d\n", i);
Run Code Online (Sandbox Code Playgroud)

你可能得到如下输出:

4
0
Run Code Online (Sandbox Code Playgroud)

当你深入研究汇编代码时,你会发现这样的:

movl     $4, %esi
leaq     LC0(%rip), %rdi
xorl %eax, %eax
call     _printf
Run Code Online (Sandbox Code Playgroud)

所以,编译器直接将常量"4"作为printf的参数添加调用它.那尺寸做什么呢?

c c++ sizeof

8
推荐指数
3
解决办法
2990
查看次数

标签 统计

c ×1

c++ ×1

sizeof ×1