噫吁汐 2021-12-03 14:39 采纳率: 95%
浏览 17
已结题

c语言,书上有一点不懂,求解答

img


我的思路是:typedef定义了一个结构体,lnode和*linklist分别为定义的结构体变量和结构体指针,inode x,就是定义一个结构体变量x,linklist x 便是定义一个结构体指针x,我不知道我的理解对不对,求解答

  • 写回答

1条回答 默认 最新

  • 冰思雨 2021-12-03 15:14
    关注

    LNode a; // 定义一个结构体变量
    LinkList b; // 定义一个结构体指针
    这两个的区别在于类型不同。
    a 占用的内存空间 理论讲 应该是 32+32 字节,第一个32是int型数据占用的空间,第二个32是指针型数据占用的空间,两者加起来就是结构体占用的内存空间。(64位的程序,指针变量应该占64字节)
    b 是指针型数据,占用32字节的内存空间。
    如果想要 b 指向 a 这个结构体变量,可以使用 b = &a ; 语句进行赋值。

    定义一个类型,定义一个变量,定义一个函数,这三者有着不同的概念,一定要弄清楚。

    • 定义一个类型,不分配空间,只是告诉编译器,有这么一个类型,编译器可以计算出这个类型占用的空间大小。
    • 定义一个变量,就会分配内存空间,(同时也可以进行初始化赋值)。
    • 定义一个函数,除了声明函数的返回值、名称、参数列表之外,还需要实现方法体。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月11日
  • 已采纳回答 12月3日
  • 创建了问题 12月3日

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭