首页 > 后端开发 > C++ > 正文

如何在C中实现自己的sizeof

WBOY
发布: 2023-09-14 16:17:08
转载
658 人浏览过

如何在C中实现自己的sizeof

要使用sizeof(),我们可以使用变量x获取值,使用&x,它将打印出其地址。现在,如果我们增加&x的值,它可能以不同的方式增加。如果只增加一个字节,那就意味着它是字符类型,如果增加的值是4,那就是int或float类型,依此类推。因此,通过计算&x + 1和&x之间的差值,我们可以得到x的大小。

在这里,我们将使用宏,因为数据类型在函数中没有定义。还有一件事,我们使用(char*)进行类型转换,这样它将告诉我们在该位置可以放置多少个字符类型的数据。因为字符类型占用一个字节的数据。

示例

#include <stdio.h>
#define my_sizeof(type) (char *)(&type+1)-(char*)(&type)
main(void) {
   int x = 10;
   char y = &#39;f&#39;;
   double z = 254748.23;
   printf("size of x: %d</p><p>", my_sizeof(x));
   printf("size of y: %d</p><p>", my_sizeof(y));
   printf("size of z: %d</p><p>", my_sizeof(z));
}
登录后复制

输出

size of x: 4
size of y: 1
size of z: 8
登录后复制

以上是如何在C中实现自己的sizeof的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板