首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C:当从char类型分配给char[]类型时,不兼容类型*

C:当从char类型分配给char[]类型时,不兼容类型*
EN

Stack Overflow用户
提问于 2014-03-11 19:38:57
回答 1查看 1.3K关注 0票数 0
代码语言:javascript
复制
struct name {
    char name[256];
    struct name* next;
};

void Display(struct name *head) {
    struct name *ende = head; 
    int i = 1;
    printf("\nList of names:\n");
    while(ende != NULL) {
        printf("(%d) %s", i, ende->name);
        ende = ende->next;
        i++;
    }
}

void bubblesort(struct name *head) {
    struct name *block,*temp;
    char change[256] = "";
    for(block = head; block->next != NULL; block = block->next) {
        for(temp = head; temp->next != NULL; temp = temp->next) {
            if(temp->next == NULL)
                break;
            if(temp->next->name[0] < temp->name[0]) {
                char *element = temp->next->name;
                printf("ELEMENT: %s", element);
                temp->next->name = temp->name;
                temp->name = element;
            }
        }
    }
}

我不知道为什么要从temp->name中的temp->next->name写入编译器错误!有人能解释为什么我会出现以下错误:“当分配给char*中的char256类型时不兼容类型”,以及如何解决我的问题?我是C的新手。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-11 19:41:39

不能分配数组,只能在定义时对其进行初始化。

但是,可以将其复制到数组中:

代码语言:javascript
复制
strcpy(temp->next->name, temp->name);
strcpy(temp->name, element);

阅读关于 here的文章。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22334944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档