3.2.2 单链表类节点的释放

来源:互联网 发布:mac伴奏降调 编辑:程序博客网 时间:2024/04/30 09:39
本程序在于演示最基础单链表的Node(节点)内存分配与释放
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/***********************************************************/
// 程序名称:list.cpp
// 程序目的:设计一个节点的配置与释放程序
// 程序来源:数据结构(C语言版) P-58
// 日期:2013-8-13 12:23:16
/***********************************************************/


#include <stdio.h>
#include <stdlib.h>
#define Max 10

struct List     // 节点结构的声明
{
    int  Number;
    char Name[Max];
    struct list* Next;
};
typedef struct List Node;
typedef Node* Link;

int main(void)
{
    Link New;           // 节点声明
    int DataNum;        // 数据编号
    char DataName[Max]; // 数据名称
    int i;

    New = (Link)malloc(sizeof(Node));      // 内存配置
    if (NULL == New)
        printf("内存动态分配失败!!\n");    // 内存配置失败
    else
    {
        printf("请输入数据编号:");
        scanf("%d", &DataNum);
        printf("请输入数据名称:");
        scanf("%s", DataName);

        New->Number = DataNum;
        for (i = 0; i <= Max; i++)
        {
            New->Name[i] = DataName[i];
        }
        New->Next = NULL;

        printf("\n####输出数据####\n");
        printf("数据编号:%d\n", New->Number);
        printf("数据名称:%s\n", New->Name);
    }

    free(New);  // 内存释放

    return 0;
}
输出结果:

原创粉丝点击