그래서 이것은 내 코드이고 내가 아는 한 포인터의 유틸리티 인 다른 함수에서 명확하게 가리키는 식별자 "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" 를 value 로 복사 하는 대신 참조로 전달 했습니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다