C에서 데이터베이스에 대한 포인터를 구조체하기 :복사가 나는 다음과 같은 구조가 생성 한
typedef struct {
char name[15];
int ID;
} Employee;
typedef Employee Item;
typedef struct {
Item items[5];
int size;
} List;
나는이 목록에 저장되는 것을 확인하기 위해 슬쩍이 함수 호출을 사용하고 있습니다 :
void Peek (int position, List *L, Item *X);
이 함수는 [position]의 [L] 목록에서 항목을 가져 와서 주소를 [X]로 복사해야합니다. 나는 들여다 기능이 위해 가지고 : 그러나 내가 다시 항목 X의 ID를 호출하려고하면이 중요한 것은 더 많은 메모리 누수가 발생하고 것이라고 생각 B로
이void Peek (int position, List *L, Item *X) {
Item *B;
B = malloc(sizeof(L->items[position]));
X = B;
}
이 같은 위치에 X를 할당 내 main, from this function :
int EmployeeID (Employee X) {
return(X.ID);
}
32665 또는 그 라인을 따라 되돌아 왔습니다. L에서 X로 데이터를 가져 오는 또 다른 방법은 무엇입니까?
모든 경고를 활성화하십시오와의 정보를 디버깅하여 컴파일러 (예 :'gcc -Wall -g' 리눅스에서); 디버거 (예 :'gdb') 사용법을 배웁니다. –
디버거를 사용하면 논리 문제인지 여부를 알 수 있습니까? – user2225940
예, 디버거 사용 방법을 습득해야합니다. –