c - 指向 C 函数中的指针的指针
问题描述
我有结构用户
struct User
{
char login[LOG_IN];
char password_hash[PASS_IN];
struct User* next;
};
而且我有可能改变参数指针的函数。
void deleteFirstUser(User** head)
{
//something like
*head = *head->next;
}
它是如何工作的?
解决方案
要删除head
单个链表中的元素,您需要
1) 为下一个元素分配临时指针head
2) 调用 free head
3) 分配head
临时指针
代码
void deleteFirstUser(User **head){
User *tmp;
tmp=(*head)->next;
free(*head);
(*head)=tmp;
return;
}
推荐阅读
- java - 禁止自定义 FreeMarker 指令的所有空格和新行
- postgresql - 如何接当前分类的二级分类
- java - Session.flush() 导致 org.hibernate.StaleStateException:批量更新从更新返回了意外的行数:1 实际行数:0 预期:1
- php - Js Validator Plugin远程规则用于在Ajax调用后不刷新页面不工作的唯一值检查
- sql - 月度统计。ORA-01722: 无效号码
- java - 如何从 actionEventListner 通知 Main thead
- php - PHP 返回除以零
- php - 如何循环卡?(包含卡片中的所有元素)
- python - 当结果达到阈值时,如何控制 odeint 停止积分?
- javascript - Highcharts 设置 xAxis 值从上午 12 点开始到晚上 11 点结束