안녕하세요, 저는 구조의 처음 두 요소를 바꿔주는 스왑 함수를 만들려고합니다. 누군가이 작품을 만드는 방법을 보여 주실 수 있습니까?두 구조를 C로 바꿔서
void swap(struct StudentRecord *A, struct StudentRecord *B){
struct StudentRecord *temp = *A;
*A = *B;
*B = *temp;
}
struct StudentRecord *pSRecord[numrecords];
for(int i = 0; i < numrecords; i++) {
pSRecord[i] = &SRecords[i];
}
printf("%p \n", pSRecord[0]);
printf("%p \n", pSRecord[1]);
swap(&pSRecord[0], &pSRecord[1]);
printf("%p \n", pSRecord[0]);
printf("%p \n", pSRecord[1]);
'temp'를 포인터가 아닌 값으로 만드는 것이 더 좋습니다. –
'struct StudentRecord * temp = * A;'->'struct StudentRecord temp = * A;'..'* B = * temp;'->'* B = 임시;'.....'스왑 (& SRecords [0], & SRecords [1]); – BLUEPIXY
옆에 : (& pSRecord [0], & pSRecord [1]); 모두가 "학생"을 포함하는 C 코드에 실망하지는 않습니다. 그래서 모든 선생님들은 전 세계에 똑같은 과제를줍니다. –