数据结构与算法王卓-有关C语言的补充知识

本文介绍了C语言中的数组动态分配和malloc函数的使用,讲解了C++中的动态存储分配以及传值和传地址两种参数传递方式,包括指针变量、数组名和引用类型的详细区别。
摘要由CSDN通过智能技术生成

1. 数组的静态分配与动态分配

在左框图中,data存放的是数组的首变量位置,此时数组长度已经确定

在右框图中,仅用指针指向数组的首变量位置,数组长度需要使用malloc动态分配

2. malloc, sizeof, free函数的使用与说明

malloc括号内用来计算所需的空间,sizeof(ElemType)为每一个元素所需的空间,maxsize为元素数量。

得到总共所需的空间后,需要在最前面的ElemType进行空间划分,根据存储数据的类型,划分单位长度,如,int型每一个占用4个字节,则将800个字节的总空间划分为200个小空间。

ElemType后的星号是为了将划分好的整片空间分配成ElemType型的指针,指针指向该空间的首地址。括号内类型加星为强制转换操作,如(int*)就是将结果分配到一个int型的指针。将得到的首地址放入data*中,则完成了空间的分配。在这之后既可使用指针,也可使用数组下标操作了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值