#include"stdio.h"
#include"stdlib.h"
#define INIT_SIZE 100 // 初始化长度
#define LIST_INCREMENT 10 // 步长
typedef int ElemType;
// 声明顺序表的结构体类型
typedef struct{
ElemType *elem; // 数据元素的头指针(基地址)
int length; // 线性表的当前长度
int listSize; // 顺序表的最大内存(sizeof(ElemType)*listSize)
}SqList; // 定义数据类型的名称
/**
* @brief 初始化顺序表
* @param L 顺序表指针
* @return int 成功-1 失败-0
*/
int InitList_Sq(SqList *L){
// 动态分配内存
L->elem = (ElemType *)malloc(sizeof(ElemType)*INIT_SIZE);
// 内存不足
if(!L->elem){
printf("init failed!\n");
}
// 初始化长度为0
L->length = 0;
L->listSize = INIT_SIZE;
printf("init successful!\n");
return 1;
}
/**
* @brief 获取元素值
* 通过下标获取元素值
* @param L 顺序表指针
* @param i 元素下标
* @param e 存储第i位元素
* @return int 成功-1 失败-0
*/
int GetElem_Sq(SqList *L,int i,ElemType *e){
// 传入位置非法
if(i < 0 || i > L->length){
return 0;
}
// 存储第i个元素
*e = L->elem[i-1];
return 1;
}
int main(){
SqList L; // 声明顺序表
// 初始化顺序表
InitList_Sq(&L);
}
请问这个GetElem_Sq()中第三个形参为指针,在main中需要如何调用GetElem_Sq()函数才正确呢?