C typedef struct不打印char str

所以这个结构是每个班级作业,所以虽然有更简单的方法来做到这一点,但这是我应该做的方式。所以结构需要保持完整。也就是说,我不能让这个打印我的行。

在 Geany 中它会说它编译成功,但是当我在控制台中运行它时,字符字符串是 'u????'而不是字符串。我对 C 中的结构相当陌生,所以我不太确定这件事在做什么。我曾尝试使用方括号来确定字符数组的长度,就像您应该使用 C 一样,但它会告诉我删除它们。任何帮助将不胜感激。

#include <stdio.h>

typedef struct {
    unsigned char name;
} MY_DATA;


void name (MY_DATA *n)
{
     n->name = *"Kyle";
}

int main (void)
{
    MY_DATA data;

    name (&data);

    printf ("My name is %s\n",&name);
}
dongchenxiapril 回答:C typedef struct不打印char str

我知道,它已经解决了,但这里是工作代码。名称也不需要无符号。

#include <stdio.h>

typedef struct {
    char *name;
} MY_DATA;


void name (MY_DATA *n)
{
     n->name = "Kyle";
}

int main (void)
{
    MY_DATA data;

    name (&data);

    printf ("My name is %s\n",data.name);
}
本文链接:https://www.f2er.com/684.html

大家都在问