1、问题

4.编写一个程序,按照下图中的样子创建数据结构,最后三个对象都是动态分配的结构。第一个对象则可能是一个静态的指向结构的指针。你不必使这个程序过于全面--我们将在下一章讨论这个结构。

C和指针之动态内存分配之编程练习4_动态分配

 

 


2、代码实现

#include <stdio.h>
#include <stdlib.h>


/**
编写一个程序,按照下图中的样子创建数据结构,最后三个对象都是动态分配的结构。第一个对象则可能是一个静态的指向结构的指针
head---->node---->node--->15
value      5         10       0
**/
typedef struct Node
{
   int val;
   struct Node *next;
}Node;

Node *make_node(int val)
{
    Node *p = malloc(sizeof(Node));
    if (p != NULL)
        p->val = val;
    return p;
}

int main()
{
    Node *head;
    head = make_node(5);
    head->next = make_node(10);
    head->next->next = make_node(15);
    head->next->next->next = NULL;
    return 0;
}