04. 线性表——顺序表的初始化及扩充大小

本文探讨了使用顺序存储来实现线性表的概念,强调在物理存储上数据元素的相邻特性。文章提出两个关键问题:如何确定C语言中数据元素的大小以及如何进行内存的静态和动态分配。顺序表在C语言中通常通过数组或动态内存分配来创建,对于数组,内存是静态分配的,而动态分配则涉及`malloc`和`free`函数的使用。
摘要由CSDN通过智能技术生成
  • 顺序表
    • 顺序存储实现线性表。
  • 顺序存储
    • 物理空间相邻的存储数据元素。

请添加图片描述


  • 线性表中的数据元素所占内存大小都是一样的,所以:
第一个数据元素地址LOC(L),
第二个数据元素地址为LOC(L)+数据元素大小*1
第三个数据元素地址为LOC(L)+数据元素大小*2
....

问题
  • 在C语言中如何知道一个数据元素的大小?

    sizeof(ElemType)  单位是B
    

    在这里插入图片描述 在这里插入图片描述

  • C语言中,如何申请和释放内存空间?

malloc函数请求空间
(ElemType*)malloc(sizeof(ElemType)*Size)
free函数释放空间

  • 静态分配(数组)

    #include <stdio.h>
    #define MAX_SIZE 10
    typedef struct {
         
        int num;
        int numberOfPeople;
    } Customer<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值