如何打印任何功能的大小?这个问题被问到但答案不是粒子.根据之前的回答不同,当我使用内置函数来查找函数的大小时?
#include<stdio.h>
void print(void)
{
printf("i m in print \n");
}
int main()
{
printf("%d\n",(int)main-(int)print); // o/p is 20 byte what is this 20
//is size of function?previous asked answer
printf("size=%d\n",sizeof(print));// o/p is 1 byte ? how to get exact plz help?
}
Run Code Online (Sandbox Code Playgroud)
〜
sizeof在函数类型上违反sizoef运算符的约束:
C11§6.5.3.4sizeof和_Alignof运算符
sizeof不应将运算符应用于具有函数类型或不完整类型的表达式,此类型的带括号的名称,或应用于指定位字段成员的表达式.
函数通常不作为紧凑的连续区域存在于存储器中.这就是为什么找不到函数的大小的原因.功能没有大小.
| 归档时间: |
|
| 查看次数: |
96 次 |
| 最近记录: |