相关疑难解决方法(0)

sizeof(Array)如何工作?

c如何在运行时找到数组的大小?有关数组大小或存储数组范围的信息在哪里?

c arrays

51
推荐指数
4
解决办法
2万
查看次数

sizeof运算符的实现

我试过实现sizeof运算符..我已经这样做了..

#define my_sizeof(x) ((&x + 1) - &x)
Run Code Online (Sandbox Code Playgroud)

但它总是最终为任何一种数据类型提供结果为'1'.

然后我用谷歌搜索了它...我发现代码被类型化了

#define my_size(x) ((char *)(&x + 1) - (char *)&x)
Run Code Online (Sandbox Code Playgroud)

并且代码正在工作,如果它是typecasted ...我不明白为什么..这个代码也完美地填充结构..

它也在努力

#define my_sizeof(x) (unsigned int)(&x + 1) - (unsigned int)(&x)
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释一下,如果进行类型转换,如果不进行类型转换,它是如何工作的?

提前致谢..

c linux gcc sizeof typecast-operator

23
推荐指数
5
解决办法
2万
查看次数

编译器如何在c中评估sizeof运算符

虽然在这个论坛上已经提出了几个问题以及其他与sizeof运算符相关的问题,但我无法得到关于编译器如何评估sizeof运算符以查找任何数据类型,变量,指针,数组等的大小的任何答案.如果可能的话也指向我一些链接可以帮助我详细了解这一点.任何帮助将不胜感激.谢谢.

c c++ compiler-construction sizeof

3
推荐指数
1
解决办法
2515
查看次数

标签 统计

c ×3

sizeof ×2

arrays ×1

c++ ×1

compiler-construction ×1

gcc ×1

linux ×1

typecast-operator ×1