rsZheng4916 2021-11-21 11:09 采纳率: 60%
浏览 7
已结题

指针做形参在main中如何调用


#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()函数才正确呢?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月29日
    • 创建了问题 11月21日