在C中使用特定功能的printf访问链表时出现问题(访问内存问题)

服装服饰

当我尝试向下编译代码时,可执行文件无法打开。我也尝试调试,但在viewNode行的printf中遇到此错误:无法执行MI命令:-data-evaluate-expression(l)-> info来自调试器后端的错误消息:无法访问地址0xeb的内存

现在,我了解到我正在尝试访问不应访问的存储位置,但是问题出在哪里呢?

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

typedef struct char_node *char_list;

struct char_node{
    char info;
    char_list next;
}char_node;

char_list makesNode(void);
char_list makesValueNode(char value);
char_list makesList(char_list l, char nome[]);
void viewNode(char_list l);
void viewList(char_list l);

int main(){
    char_list nuovo;
    char nome[] = "Ugo";
    makesList(nuovo, nome);
    if(nuovo != NULL)
        viewList(nuovo);

    return 0;
}

char_list makesNode(void){
    return (char_list)malloc(sizeof(struct char_node));
}

char_list makesValueNode(char value){
    char_list li = NULL;
    li = makesNode();
    li -> info = value;
    li -> next = NULL;
    return li;
}

char_list makesList(char_list nuovo, char nome[]){
    char_list head = NULL;
    int l = strlen(nome);
    l = l - 1;
    while(l >= 0 ){
        nuovo = makesValueNode(nome[l]);
            if(nuovo != NULL){
                nuovo -> next = head;
                head = nuovo;
                l = l - 1;
            }
    }
    return nuovo;
}

void viewNode(char_list l){
    printf("%c", l->info);
}

void viewList(char_list l){
    while(l != NULL){
        viewNode(l);
        l = l -> next;
    }
}

巴尔玛

makeList返回char_list指针,但您没有将其分配给变量。

而且,makesList从不使用nuovo参数,因此不需要它。

因此应该是:

int main(){
    char nome[] = "Ugo";
    char_list nuovo = makesList(nome);
    if(nuovo != NULL)
        viewList(nuovo);
    return 0;
}

char_list makesList(char nome[]){
    char_list nuovo;
    char_list head = NULL;
    int l = strlen(nome);
    l = l - 1;
    while(l >= 0 ){
        nuovo = makesValueNode(nome[l]);
        if(nuovo != NULL){
            nuovo -> next = head;
            head = nuovo;
            l = l - 1;
        }
    }
    return nuovo;
}

演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从导出功能访问服务时出现问题

来自分类Dev

访问特定列表项时出现问题

来自分类Dev

访问XML数据时出现问题

来自分类Dev

访问GridPane节点时出现问题

来自分类Dev

访问Mysql时出现问题

来自分类Dev

在nginx后面访问时出现问题

来自分类Dev

访问Mysql时出现问题

来自分类Dev

使用Core Data生成的访问器时出现问题

来自分类Dev

使用Python访问MS Word 2010时出现问题

来自分类Dev

使用Samba从Ubuntu访问Windows共享时出现问题

来自分类Dev

使用NodeJS以C#格式访问服务器的API会话时出现问题

来自分类Dev

使用Higcharts访问数组时出现问题,我如何访问x位置?

来自分类Dev

在Spark Map功能内访问HDFS文件时出现问题

来自分类Dev

我的测试功能尝试访问一组路由时出现问题

来自分类Dev

php fwrite访问文件时出现问题

来自分类Dev

在Scala中访问数据集时出现问题

来自分类Dev

访问Google表格插件时出现问题

来自分类Dev

从ubuntu终端18访问odoo时出现问题

来自分类Dev

通过键入UnsafeMutualPointer访问MTLBuffer时出现问题

来自分类Dev

访问阵列内部的值时出现问题

来自分类Dev

openpyxl-访问命名范围时出现问题?

来自分类Dev

由于int导致访问json数组时出现问题

来自分类Dev

从_layout.cshtml访问模型属性时出现问题

来自分类Dev

在jquery中访问json值时出现问题

来自分类Dev

访问网络摄像头时出现问题

来自分类Dev

在Javascript中访问返回的JSON时出现问题

来自分类Dev

访问对象javascript getter时出现问题

来自分类Dev

远程访问多个Docker容器时出现问题

来自分类Dev

在angularjs中访问数据时出现问题