美文网首页
数据结构里的malloc函数

数据结构里的malloc函数

作者: 梦在原点 | 来源:发表于2017-11-10 23:52 被阅读0次

    在数据结构里经常会用到malloc函数,但是它的功能我一直都是很模糊的,今天在看数据结构的时候忽然感觉到顿悟,有一些心得和大家分享一下。
    先分享这样的一段程序.

    #include<stdio.h>
    #include<malloc.h>
    typedef struct Node
    {
        int data;
        struct Node* next;
    }NODE,*pNode;
    int main(void)
    {
        pNode Pa;
        pNode Pb=(pNode)malloc(sizeof(NODE));
        //printf("%d,%d,%d",Pa,Pa->data,Pa->next);
        printf("\n");
        printf("%d,%d,%d",Pb,Pb->data,Pb->next);
        return 0;
    }
    

    程序的输出结果是这样的


    image.png

    如果把第一个printf取消注释的话
    运行的结果是这样的


    image.png
    由此可见malloc函数的作用
    下面说一下我对这个函数的一点理解

    malloc函数是为指向结构体的指针指向了堆内存里面的一个结构体变量,而这个结构体里面的值是系统自动分配的值。如果没用使用malloc函数,那么仅仅是开辟了一块栈内存空间,并没用一个可以指的结构体变量,换做Java来思考的话就相当于你并没有实例化对象,malloc就是实例化对象的一个过程。

    相关文章

      网友评论

          本文标题:数据结构里的malloc函数

          本文链接:https://www.haomeiwen.com/subject/qdaimxtx.html