누군가 다음 코드가 수행하는 작업을 설명해 주시겠습니까?
set_element *p = (set_el*)malloc(sizeof(set_el));
p->value = elem;
p->next = NULL;
return p;
elem
매개 변수의 메소드에 전달 된 요소는 어디에 있으며 다음도 있습니다.
typedef struct set_el
{
int value;
struct set_el* next;
} set_el;
이것은 연결된 목록 의 구현처럼 보입니다 .
struct set_el
연결된 목록에서 노드를 정의합니다.
value
int
노드에 데이터를 보유합니다 .next
목록의 다음 노드에 대한 포인터 (링크)입니다.연결 목록에 추가 할 새 노드에 메모리가 할당됩니다.
set_el *p = malloc( sizeof *p ); // cleaned up according to @JohnBode's comment
// If malloc fails, log and return
if(p == NULL)
{
// log and take necessary action.
return NULL;
}
변수 elem
는 value
노드 의 데이터 부분 (예 :) 에 복사됩니다 .
p->value = elem;
노드 p
에 다음 노드가 없습니다. 즉, 나가는 링크가 없습니다.
p->next = NULL;
새로 생성 된 노드에 대한 포인터가 호출자에게 반환됩니다.
return p;
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다