64,662
社区成员
发帖
与我相关
我的任务
分享
class Father
{
public:
int a;
// int (*fun)(int);
};
int main(int argc, char const *argv[])
{
Father f;
printf("%d\n", sizeof(f));
int *a=NULL;
printf("%d\n", sizeof(a));
return 0;
}
虽然这种做法 跟赵四老师相违背,但是我相信楼主问的应该是 这个意思吧,看了楼上几位大佬的回答 完全没看懂//仅对VC6
#include <stdio.h>
void fun1() {
int f1=1;
printf("fun1\n");
printf("fun1\n");
}
void fun2() {
int f2=2;
printf("fun2\n");
}
void fun3() {
}
void main() {
#ifdef _DEBUG
printf("sizeof(fun1)==%d\n",*(int *)((int)fun2+1)-*(int *)((int)fun1+1));
printf("sizeof(fun2)==%d\n",*(int *)((int)fun3+1)-*(int *)((int)fun2+1));
//sizeof(fun1)==59
//sizeof(fun2)==43
#else
printf("sizeof(fun1)==%d\n",(int)fun2-(int)fun1);
printf("sizeof(fun2)==%d\n",(int)fun3-(int)fun2);
//sizeof(fun1)==32
//sizeof(fun2)==16
#endif
}