更新时间2019-10-23 06:23:18
#include <stdio.h>
#include <windows.h>
struct Person
{
int test1;
int test2;
char* arr;
person()
{
printf("无惨析构函数 ");
}
Person(int test1, int test2 )
{
this -> test1 = test1;
this -> test2 = test2;
arr = (char*)malloc(1024);
}
~Person()
{
printf("%d ",sizeof(arr)); //这个4是怎么算出来的?
free(arr);
}
};
int main()
{
Person p(1,2);
return 0;
}
首先,你的程序不是c语言的,c语言不支持类的,它是C++,你要了解C和C++不是同一语言
其次,你的结果4是针对目前32位编译器下的,它的整形为4字节(编译器有关)
另外,你的程序风格有问题,C++中,一般不用malloc及printf了(这个是C风格的)