以下是引用yangzhifu在2007-9-21 12:17:45的发言:
这样应该是对的了
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
#define LEN sizeof(struct link) /* 此处因该是link 不能是 LinkList */
typedef struct link{
float data;
struct link * next;
}*LinkList;
int main()
{
LinkList head;
head=(LinkList)malloc(LEN);
printf("%d,%d\n",LEN,sizeof(LinkList));
printf("%d",head);
getch();
return 0;
}
/****************************************/
head是struct link类型的指针,LinkList是link类型指针,所以sizeof(LinkList)等于4,而sizeof(link)等于8即sizeof(float)+sizeof(link *).因此二楼的虽然可以通过编译,但是还是错误的.