首先,我是 C 编程的新手,我想知道如何通过函数传递 struct
?
例如:
typedef struct
{
char name[20];
}info;
void message()
{
info n;
printf("Enter your name : ");
scanf("%s", &n.name);
}
我想将输入的名称传递给此函数,以便它打印出名称。
void name()
{
printf("Good morning %s", ...);
}
最佳答案
是的,您可以简单地按值传递结构。这将创建数据的副本:
void name(info inf)
{
printf("Good morning %s", inf.name);
}
创建一个其唯一成员是数组的结构(就像您所做的那样)是一种已知的“按值传递数组”的方法(这通常是不可能的)。
对于大型结构,通常只传递一个指针:
void name(info *inf)
{
printf("Good morning %s", inf->name);
}
但是对指针目标的更改将对调用者可见。
关于c - 将结构传递给函数 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40589852/