带结构字段指针的struct

时间:2015-12-21 12:38:32

标签: c struct linked-list

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define SIZE 20

typedef struct arr {
    char name[SIZE];
} arr;

typedef struct tz{
    struct arr *next;
} tz;


int main() {
    tz *tze;
    const char *value[SIZE];
    tze = (tz*) malloc(sizeof(tz)*5);
    int i;

    for(i = 0; i < 5; i++) {
        printf("insert value:\n");
        scanf("%s", value);
        strcpy(tze[i].next->name, value);
    }

    for(i = 0; i < 5; i++){
        printf("output:%s ",tze[i].next->name);
    }
    return 0;
}

嗨,上面有一个代码示例,这是我的问题。我想通过一个数组在字段'name'中输入信息,其中每个单元格的链表。不幸的是,来源不正确。有些想法?

int main() {
    tz *tze;
    char *value;
    tze = (tz*) malloc(sizeof(tz)*5);
    value = (char*) malloc(sizeof(char)*SIZE);
    int i;



    for(i = 0; i < 5; i++) {
        printf("insert value:\n");
        fgets(value, SIZE, stdin);
        strncpy(tze[i].next->name, value,SIZE);
    }

    for(i = 0; i < 5; i++){
        printf("output:%s ",tze[i].next->name);
    }
    return 0;
}

我改变了我的代码,但它仍然无法正常工作。我仍然得到一个sigment错误错误。如果我使用:

strcpy(tze[i].next->name, value[i]);

我有一个错误指针,我相信值[i]我只指向有价值的第一个单元格。在没有[i] im指向整个载体的情况下,有价值的信息。

0 个答案:

没有答案