在C语言中向LinkedList添加字符串时遇到问题



我想在c中添加一个字符串到链表。我能够弄清楚如何添加一个整数,所以我认为添加一个字符串不会有太大的不同。所以我尝试了以下操作:

struct node{
   char val;
   struct node * next;
};
typedef struct node item;
void linked_list(char letter[]) {
    item * curr, * head;
    int i;
    head = NULL;
    curr = (item *)malloc(sizeof(item));
    curr->val = letter;
    curr->next  = head;
    head = curr;     
    curr = head;
    while(curr) {
        printf("%sn", curr->val);
        curr = curr->next ;
    }
}

然而,我总是得到

赋值从没有强制类型转换的指针中得到整数

预警和

格式'%s'期望类型为'char *',但参数2为'int'

如果,在结构体中,val是一个字符,为什么我得到这个错误?

旁注:char letter[]从单独的main方法传入字母/字符。

我正在学习C和链表从这个教程:http://www.learn-c.org/en/Linked_lists.

val是一个char,它实际上是一个介于0 - 255之间的数字。

您想要的是一个char *,它是一个字符串。

相关内容

  • 没有找到相关文章

最新更新