#include
<
stdio.h
>
struct xx{
int i;
char st[ 1 ];
};
int main()
{
char s1[] = " abc " ;
struct xx * a = ( struct xx * )malloc( sizeof ( struct xx) + strlen(s1) + 1 );
strcpy(a -> st, s1);
printf( " %s " , a -> st);
free(a);
getch();
return 0 ;
}
struct xx{
int i;
char st[ 1 ];
};
int main()
{
char s1[] = " abc " ;
struct xx * a = ( struct xx * )malloc( sizeof ( struct xx) + strlen(s1) + 1 );
strcpy(a -> st, s1);
printf( " %s " , a -> st);
free(a);
getch();
return 0 ;
}
详细内容见《深度探索C++对象模型》P19
http://community.youkuaiyun.com/Expert/topic/5054/5054882.xml?temp=.9214289