类C语言补充

一、 顺序表类型定义
typedef struct{
    ElemType data[];//存放顺序表当中的数据元素的数组
     int length;//元素的个数
}SqList;

    解释说明:

ElemType 根据后面 data 数据类型改成 int,float 等等,或者用 typedef char ElemType;

二、 数组定义

数组静态分配

typedef struct{
    ElemType data[MaxSize];
      int length;
}SqList;

      存储空间已经确定,数组里面存放数组的首元素data[0]的基地址。 

 数组动态分配

typedef struct{
    ElemType *data;
     int length;
}SqList;

     存储空间没有确定,需要用

SqList L;
L.data = (ElemType*)malloc(sizeof(ElemType)*MaxSize);

申请空间,用指针存放第一个元素的地址,其中L有两个成员,一个data,另一个length。

C语言的内存动态分配 

  • malloc(m)函数,开辟m字节长度的地址空间,并返回这段空间的首地址。
  • sizeof(x)运算,计算变量x的长度。
  • free(p)函数,释放指针p所指变量的存储空间,即彻底删除一个变量。

需要加载头文件:<stdlib.h>

三、 C++的动态存储分配

new  类型名(初值列表)

    功能:

         申请用于存放T类型对象的内存空间,并依初值列表赋以初值结果值。

   结果值:

         成功,T类型的指针,指向新分配的内存

         失败,0(NULL)

delete 指针 p

    功能:

        释放指针 p 所指向的内存,p 必须是 new 操作的返回值。

四、C++中的参数传递
  • 函数调用时传送给形参表的实参必须与形参三个一致

                  类型,个数,顺序

  • 参数传递有两种方式

          传值方式(参数为整型、实型、字符型等):把实参的值传送给函数局部工作区相应的副本中,函数使用这个副本执行必要的功能。函数修改副本的值,实参的值不变

          传地址

               参数为指针变量

               参数为引用类型(C++):用来给一个对象提供一个代替的名字。

               参数为数组名:传递的是数组的首地址;对形参数组所做的任何改变都将反映到实参数组中。

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值