疑惑与解答

问题一、为什么链表创建时需要用到指针

         当我在使用链表的时候,突然,我脑海中出现一个疑惑,为什么开始创建一个空链表时需要用到指针。

#include<stdio.h>


typedef struct student
{

    int num;
    char[10];
    struct student *next;   
 
 }STU;
   

   int main()
{
    STU * stu = (STU *)malloc(sizeof(STU));  




   return 0;
  }

STU * stu = (STU *)malloc(sizeof(STU));  

解析:STU * 表示指向一块空间,此空间数据类型为STU型。

如果只写

STU * stu ;系统给的空间是不确定的,里面或许有值(我们常说为垃圾值)。或许某个系统重要的空间区域,不可随意更改。也没有权限访问。

因此,需要在程序中分配属于自己的空间。需要使用malloc函数

即:(STU *)malloc(sizeof(STU));  

猜你喜欢

转载自blog.csdn.net/weixin_47783699/article/details/128136427