- 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
内存分配是否成功
;