在struct C中显示名称存储

时间:2016-11-20 09:42:17

标签: c function struct

如何在另一个函数中显示以前存储在struct中的名称?

示例:

typedef struct
{
 char name[10];
}n;

void info()
{
  n play;
  printf("Enter name  : ");
  scanf("%s", &play.name);
}

如何在' welcome'中显示名称?功能?

void welcome()
{

 printf("Hi %s have a nice day!", ...);
}

2 个答案:

答案 0 :(得分:1)

将指向n结构的指针传递到info()函数并更新它。然后将n传递给welcome()函数:

void info(n *play)
{
    printf("Enter name  : ");
    scanf("%s", &play->name);
}

void welcome(n play)
{
    printf("Hi %s have a nice day!\n", play.name);
}

int main(int argc, char *argv[])
{
    n play;
    info(&play);
    welcome(play);
}

答案 1 :(得分:0)

原因是您在info函数中读取了值,因此,在welcome函数中,它超出了范围,因为在play中定义了info 。您可以从n返回info并使用该值。