首页 > 电脑

c语言指针char问题

更新时间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风格的)

相关标签:c语言

上一篇:HIS对外接口有哪些特征

下一篇:写一个演示类Main,其中读入一行字符,并通过isAlpha()方法判断其中有多少个大写或小写字