Duas maneiras de criar a tabela de sequência da série de aprendizagem de estrutura de dados

  • Método 1:
  • Ao 返回值devolver o solicitado 内存空间的首地址;
  • Código de amostra:
list_t *create_seq_list_1(){
    
    

    list_t *p = (list_t *)malloc(sizeof(list_t));
    if(NULL == p){
    
    

        printf("内存分配失败\n");

        exit(-1);

    }

    memset(p,0,sizeof(list_t));
    return p;

}
  • Precauções:
  • 1. Após alocar o espaço de endereço de memória, certifique-se de verificar 内存分配是否成功;
  • 2. Se a alocação de memória falhar, ela precisará ser usada shell命令exit(-1)退出;
  • Método 2:
  • 地址传参Crie uma tabela de sequência usando ;
  • Código de amostra:
int create_seq_list_2(list_t **p){
    
    

    if(NULL == p){
    
    

        printf("入参为NULL\n");

        return -1;

    }

    *p = (list_t *)malloc(sizeof(list_t));

    if(NULL == *p){
    
    

        printf("内存分配失败\n");

        return -1;

    }

    memset(*p,0,sizeof(list_t));

    return 0;
    
}
  • Precauções:
  • 1. O parâmetro passado deve ser 二级指针变量, porque 二级指针用来存储一级指针变量的地址, ou seja 所申请的顺序表内存空间的地址;
  • 2. Após a passagem dos parâmetros formais para a função de criação da tabela de sequência, isso deve ser feito 入参合理性检查;
  • 3. Igual ao método 1, após alocar o espaço de endereço de memória, certifique-se de verificar 内存分配是否成功;

Guess you like

Origin blog.csdn.net/qq_41878292/article/details/132638783