C标识符中的指针+结构+函数未定义



所以这是我的代码,我不明白为什么我会得到那个标识符"pers";是未定义的,当我从另一个函数清楚地指向它时,据我所知,这是指针的效用。

我做了一些研究,但似乎没有什么能解决我的问题,因为我在处理结构和所有这些问题。

还有一个要求是所谓的";leer_persona(("括号中不能有任何值

#include <stdio.h>
typedef struct{
int num;
char letra;
}tdni;
typedef struct{
char nom[20];
tdni dni;
}tpersona;
tpersona leer_persona();
void mostrar_persona(tpersona p);
int main(){
tpersona pers;
pers = leer_persona();
mostrar_persona(pers);
return 0;
}
tpersona leer_persona(){
int i=0;
int *fp;
fp = &pers;

谢谢。

Pers在"main((";。它在";main((";。

https://www.geeksforgeeks.org/scope-rules-in-c/

函数范围从函数的开头开始,并以

查看此链接了解更多详细信息:C-范围规则

如果你想使用";pers";在另一个函数中,通常将其作为函数参数传递,例如tpersona leer_persona(tpersona * pers)。在这个例子中,我把参数";pers";通过引用,而不是按值复制。

最新更新