c - C - 警告:指针和整数之间的比较('struct V_LISTE *' 和 'int')
问题描述
对于简单的链式(动态)列表,我想编写一个函数来删除包含字符“k”的第一个元素。
我写了以下函数:
char popIfK(struct V_LISTE **kopf)
{
char *returnVal;
struct V_LISTE *kElement;
kElement = *kopf;
while (kElement->nachfolger != 'k')
{
kElement = kElement->nachfolger;
}
returnVal = &(*kopf)->vorname;
free(*kopf);
*kopf = kElement;
return *returnVal;
}
在 while 语句中,我收到警告:指针和整数之间的比较 ('struct V_LISTE *' 和 'int') while (kElement->nachfolger != 'k')
我已插入具有以下功能的元素:
struct V_LISTE *insert(struct V_LISTE *list, char key)
{
struct V_LISTE *newElement;
newElement = (struct V_LISTE *) malloc(sizeof(struct V_LISTE));
newElement->vorname = key;
newElement->nachfolger = list;
list = newElement;
return list;
}
通过在 main 中调用它:
struct V_LISTE
{
char vorname;
struct V_LISTE *nachfolger;
};
int main()
{
struct V_LISTE *kopf;
kopf = (struct V_LISTE *) malloc(sizeof(struct V_LISTE));
kopf->vorname = 'o';
kopf->nachfolger = NULL; kopf = insert(kopf, 'l');
kopf = insert(kopf, 'k');
kopf = insert(kopf, 'T');
char name;
name = popIfK(&kopf);
printf("%c\n", name);
}
我运行我的程序出现分段错误:11 我无法解决问题,需要一些帮助。
解决方案
推荐阅读
- php - 使用从 foreach 返回的值创建动态数组
- python - 如何将图像的像素值复制到另一个python变量以使该python变量将图像保存在opencv中
- c# - MetadataAddress 或授权必须使用 HTTPS,除非通过设置 RequireHttpsMetadata=false 禁用开发
- django - 删除 django 和 api 中的对象
- python - python条码生成器中的条码行不相等
- kubernetes - 使用 Kubernetes 和 minikube 在端口 80 上公开一个 Web 应用程序
- node.js - 如果“测试”脚本失败,纱线“后测”脚本将不起作用
- python - Bootstrap 导航栏功能在 django 中不起作用,任何人都可以支持吗?
- google-cloud-platform - 自定义转换未在 Google Cloud Data Fusion 的牧马人中应用
- python - 将给定行的给定列中的值替换为位于其他行的值