zoukankan      html  css  js  c++  java
  • 链表基础:结构体变量和结构体指针

    #include <stdio.h>
    #include <malloc.h>

    typedef struct node {
        struct node*next;
        int data;
    }node;

    int main()
    {
        node*head;
        head = (node*)malloc(sizeof(node));   //指针动态申请一块内存,指向大小为sizeof(node)的内存空间
        head->data = 3;                                     //变量初始化
        head->next = NULL;
        printf("%d ", head->data);
        printf("指针为%d个字节 ",sizeof(head));  //虽然指向的结构体大小是八字节,但指针是四个字节。

        node a;                                      //声明一个结构体类型的变量
        a.data=1;                                   //初始化结构体变量
        a.next=NULL;                            //结构中的next指针不指向任何内存
        printf("该结构体为%d个字节 ",sizeof(a));   //结构体内存为八个字节(4(int)+4(指针)=8字节)

        free(head);                               //(动态申请的空间需要手动释放)释放head指向的内存,将内存数据清除
        head = NULL;                          //head指针为NULL,不再指向这一块内存。

        return 0;
    }

    注:不管指针指向哪种类型变量,指针本身存储所需要的空间大小依然是4字节。

  • 相关阅读:
    移动端高清、多屏适配方案
    Cookie存中文乱码的问题
    手机网站-前端开发布局技巧汇总
    深入理解javascript中的立即执行函数(function(){…})()
    test
    [PAT] A1013 Battle Over Cities (25分)
    PAT索引
    [PAT] A1012 The Best Rank
    [PAT] A1091 Acute Stroke
    [PAT] A1067 Sort with Swap(0, i)
  • 原文地址:https://www.cnblogs.com/mld-code-life/p/11749430.html
Copyright © 2011-2022 走看看