类C语言有关操作补充(2)

数组动态分配

typedef struct{
	ElemType *data; //数组的地址(指针)
	int length;
} SqList;

分配内存空间

SqList L;

//sizeof(ElemtType)为一个ElemType所需要的字节长度
//ElemType*划分在内存中分配出来的空间。(如果有800个字节,那个数就是800/4=200)
L data = (ElemType*)malloc(sizeof(ElemType)*MaxSize);

C语言的内存动态分布

malloc(m)函数:开辟m字节长度的空间,并返回这段空间的首地址

sizeof(x)运算:计算变量x的长度

free(p)函数:释放指针p所指变量的存储空间,即彻底删除一个变量

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

补充C++的动态存储分配

new 类型名T(初值列表)

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

结果值:成功:T类型的指针,指向新分配的内存 失败:0(null)

*P = new int;
int *P2 = new int(10);、

delete指针P

功能:释放指针P所指向的内存。P必须是new操作的返回值

补充C++的参数传递

  1. 函数调用时传送给形参表的实参,必须与形参三个一致:类型、个数、顺序
  2. 参数传递有两种方式:
    1. 传值方式(参数为整形、字符型等)
    2. 传地址:
      1. 参数为指针变量
      2. 参数为引用类型
      3. 参数为数组名

类C语言有关操作补充(3)