我试图发送一个结构数组作为参考,但由于某种原因,我不能得到它的工作,因为价值是能够通过,但并不作为参考(&)通行证结构阵列的功能使用指针
这是我的代码:
#include <stdio.h>
#include <string.h>
struct mystruct {
char line[10];
};
void func(struct mystruct record[])
{
printf ("YES, there is a record like %s\n", record[0].line);
}
int main()
{
struct mystruct record[1];
strcpy(record[0].line,"TEST0");
func(record);
return 0;
}
我以为只有通过调用函数func(&记录),并改变FUNC功能参数为“结构MYSTRUCT *记录[]”这是去上班......但是它没有。
请任何帮助。
“不工作”,是不是你遇到什么问题的一个非常有用的描述。请告诉我们你得到的输出。 – kaylum
当我尝试引用这个错误时有点奇怪,但这是它: – Marco
C没有引用传递,所有东西都是按值传递的。但'func(record)'已经传递了'record'数组作为指针。也就是说,它已经通过“引用”,就像你想要的一样(它不会复制整个结构数组)。 – kaylum