weixin_49314420 2021-07-27 17:36 采纳率: 66.7%
浏览 82
已结题

这个是什么问题,指针地址需要初始化为NULL吗?但是p的next变成NULL,赋的值不就丢失了吗?求解,头都要抠破了


typedef struct hashnode
{
    int data;
    struct hashnode * next;
} hashnode;

                struct hashnode hashtable[499];        //建立一个结构体数组

                struct hashnode* p= &hashtable[M];    //进入循环      <====问题在这里,指针地址需要初始化为NULL吗?
                while(p->next!=NULL)     //循环遍历M处的链,直到指针为空     <===还有这里
                {
                    if(p->data==nums[i])
                    {
                        return true;   //如果与链上的数相等返回true
                    }
                    p = p->next;
                }

一直显示这个:
Line 36: Char 24: runtime error: member access within misaligned address 0x00000000b77a for type 'struct hashnode', which requires 8 byte alignment [solution.c]
0x00000000b77a: note: pointer points here

  • 写回答

4条回答 默认 最新

  • CSDN专家-link 2021-07-27 17:39
    关注

    struct hashnode* p= hashtable;就好了啊
    搞这么复杂干啥
    while(p->next!=NULL) //循环遍历M处的链,直到指针为空
    这里是有问题的,p->next你并没有默认为NULL,可以在数据结构定义的时候增加构造函数来解决

    typedef struct hashnode
    {
        int data;
        struct hashnode * next;
        hashnode() {data = 0;next = NULL;}
    }hashnode;
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 11月8日
  • 已采纳回答 10月31日
  • 创建了问题 7月27日

悬赏问题

  • ¥15 vue使用gojs,需求在link中的虚线上添加方向箭头
  • ¥15 CSS通配符清除内外边距为什么可以覆盖默认样式?
  • ¥15 SPSS分类模型实训题步骤
  • ¥15 求解决扩散模型代码问题
  • ¥15 工创大赛太阳能电动车项目零基础要学什么
  • ¥20 limma多组间分析最终p值只有一个
  • ¥15 nopCommerce开发问题
  • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
  • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
  • ¥15 pycharm输出和导师的一样,但是标红