- Método 1:
- Al
返回值
devolver el solicitado 头结点所在的内存空间首地址
, es decir, crear el nodo principal de la lista enlazada unidireccional, el código es el siguiente:
- Código de muestra:
node_t *create_link_node_1(){
node_t *phead = (node_t *)malloc(sizeof(node_t));
if(NULL == phead){
printf("内存分配失败\n");
exit(-1);
}
phead->data = -1;
phead->next = NULL;
return phead;
}
- Precauciones:
- 1. Después de asignar el espacio de direcciones de memoria del nodo principal, asegúrese de verificar
内存分配是否成功
;
- 2. Si falla la asignación de memoria del nodo principal, es necesario utilizarla
shell命令exit(-1)退出
;
- 3. Para la lista enlazada unidireccional
每个结点都有数据域和指针域
y 头结点的数据域可以不储存任何数据
para el nodo principal 数据域
en esta función 被赋值 -1
,;
- 4. Para el nodo principal
指针域被赋值 NULL
, representa la lista enlazada unidireccional en este momento 只有一个头结点
;
- Método 2:
- El método utilizado para
地址传参
crear el nodo principal de la lista enlazada unidireccional, el código es el siguiente:
- Código de muestra:
int create_link_node_2(node_t **phead,int data){
if(NULL == phead){
printf("入参为NULL\n");
return -1;
}
*phead = (node_t *)malloc(sizeof(node_t));
if(NULL == *phead){
printf("内存分配失败\n");
return -1;
}
(*phead)->data = data;
(*phead)->next = NULL;
return 0;
}
- Precauciones:
- 1. El parámetro pasado debe ser
二级指针变量
porque 二级指针用来存储一级指针变量的地址
, a saber 所申请的单向链表头结点在内存空间的地址
;
- 2. Después de pasar los parámetros formales a la función que crea el nodo principal de la lista enlazada unidireccional, se debe hacer
入参合理性检查
;
- 3. Igual que el método 1, después de asignar el espacio de direcciones de memoria del nodo principal, asegúrese de verificar
内存分配是否成功
;
- 4. Nodo principal
数据域被赋值 -1
;
- 5. Nodo principal
指针域被赋值 NULL
;