关于typedef struct node这一段每一句什么意思?typedef struct node{struct node *next;Buch i;}Node;Node * New_Node(void){Node * newNode;newNode = (Node*)malloc(sizeof(Node));if( newNode =NULL){newNode->next = NULL;memset(&newNode->i,0,sizeof(

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 20:55:15

关于typedef struct node这一段每一句什么意思?typedef struct node{struct node *next;Buch i;}Node;Node * New_Node(void){Node * newNode;newNode = (Node*)malloc(sizeof(Node));if( newNode =NULL){newNode->next = NULL;memset(&newNode->i,0,sizeof(
关于typedef struct node这一段每一句什么意思?
typedef struct node{
struct node *next;
Buch i;
}Node;
Node * New_Node(void)
{
Node * newNode;
newNode = (Node*)malloc(sizeof(Node));
if( newNode =NULL){
newNode->next = NULL;
memset(&newNode->i,0,sizeof(Buch));
}else{
printf("Kein Speicherplatz mehr\n");
}
return newNode;
}

关于typedef struct node这一段每一句什么意思?typedef struct node{struct node *next;Buch i;}Node;Node * New_Node(void){Node * newNode;newNode = (Node*)malloc(sizeof(Node));if( newNode =NULL){newNode->next = NULL;memset(&newNode->i,0,sizeof(
struct node{
struct node *next;
Buch i;
};
它声明了一个数据类型struct node,以后就可以利用这个类型 去定义变量等任务了.
typedef struct node{
struct node *next;
Buch i;
}Node;
在前面加上 typedef后,表明给刚才声明的那个类型起一个新的名字,Node,以后这个Node就可以如同struct node一样去使用(因为Node就是这个类型的另一个名字,这样做是为了以后读程序或输入的时候方便).
后面的我想就不用解释了,想必楼主都应该清楚了.

// Node 结构体
typedef struct node{
  struct node *next; // 结构体 node 指针
  Buch i; // Buch 类型
}Node;
// 新建一个结点并返回
Node * New_Node(void)
{
  Node * newNode; // 声明一个 Node 类型的指针
  newNode = (Node*)malloc(sizeof(Node)); // 分配内存
  if( newNode != NULL){ // 内存分配成功
    newNode->next = NULL; // 设置下一个结点为空,不存在
    memset(&newNode->i,0,sizeof(Buch)); // 初始化内存为 0
  }else{ 
    printf("Kein Speicherplatz mehr\n"); // 内存分配失败
  } 
  return newNode; // 返回新建的结点
}

上面回答的极好。