【问题标题】:question about syntax for structure in linked list关于链表中结构的语法问题
【发布时间】:2023-03-11 18:15:01
【问题描述】:

我对链表中结构的语法有疑问:

我有这个链表结构:

typedef struct      s_list
{
    void            *content;
    size_t          content_size;
    struct s_list   *next;
} t_list;

我想将 void *content 指向这个结构:

typedef struct      s_minos
{
    char            **minos;
}                   t_minos;

但是当我尝试像这样访问我的 char **minos 时:

printf("%s\n", head->content->singleminos->minos[i]);

我声明:s_minos *singleminos; 我分配了:head->content = singleminos;

它不起作用。

我应该如何正确访问我的数据?

【问题讨论】:

    标签: c struct linked-list


    【解决方案1】:

    改变这个

    printf("%s\n", head->content->singleminos->minos[i]);
    

    printf("%s\n", ((t_minos *)(head->content))->minos[i]);
    

    t_minos * temp = head->content;
    printf("%s\n", temp->minos[i]);
    

    您需要在取消引用之前将 void pointer 转换为原始类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-17
      相关资源
      最近更新 更多