- 论坛徽章:
- 0
|
二叉树用法
[quote]原帖由 "w25"]给不给奖品,说一声啊!俺急!!![/quote 发表:
别急,还有下面的问题帮我解决一下:
程序如下:
#typedef struct
{
char name[11];
int type;
}APPLE;
#typedef sturct
{
APPLE *apple;
NODE *next;
}NODE;
main()
{
NODE *pHead = NULL, pNext = NULL;
/*取数据*/
getdata( &pHead );
/* 打印数据 */
for( pNext=pHead; pNext; pNext = pNext->;next )
{
printf( “the struct member a=[%s]\n”, pNext->;apple->;a );
}
}
int getdata( NODE **pHead )
{
int i = 0;
APPLE *pApple = NULL;
NODE *pNode = NULL, *pNext = NULL;
While( i++<1000)
{
pApple = malloc( sizeof( APPLE ));
pNode = malloc( sizeof( NODE ));
memset( pApple, 0x00, sizeof( APPLE ));
memset( pNode, 0x00, sizeof( NODE ));
pNode->;apple = pApple;
strcpy( pApple->;a, “apple” );
pApple->;type = 0;
if( pHead == NULL )
pHead = pNode;
else
pNext->;next = pNode;
pNext = pNode;
}
}
此程序在ibmM85机器编译通过并且正确运行,但移植到ibm690机器上后出现内存乱的情况,后来我们发现如果在申请内存的时候不用sizeof,代之一个固定值50则内存一切正常。郁闷,还请wz25和诸位大虾看一下。 |
|