C 포인터 및 구조

user2947615

누군가 다음 코드가 수행하는 작업을 설명해 주시겠습니까?

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 연결된 목록에서 노드를 정의합니다.

  • valueint노드에 데이터를 보유합니다 .
  • 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;
}

변수 elemvalue노드 의 데이터 부분 (예 :) 에 복사됩니다 .

p->value = elem;

노드 p에 다음 노드가 없습니다. 즉, 나가는 링크가 없습니다.

p->next = NULL;

새로 생성 된 노드에 대한 포인터가 호출자에게 반환됩니다.

return p;

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C의 동적 구조 및 포인터

분류에서Dev

C : Typedef 구조 및 포인터 이상

분류에서Dev

포인터 및 참조 (C ++)

분류에서Dev

포인터 및 참조로 전달 C ++

분류에서Dev

C ++ 참조 및 포인터 int * p = & a [2];

분류에서Dev

C 구조의 포인터와 구조

분류에서Dev

C, 연결된 데이터 구조 및 이중 포인터 동작

분류에서Dev

"."사용 포인터 및 구조의 "->"대

분류에서Dev

포인터 및 구조체 문제

분류에서Dev

배열 및 구조의 포인터

분류에서Dev

구조 멤버 및 포인터 정렬

분류에서Dev

C ++ 구조체 포인터 역 참조

분류에서Dev

참조 및 포인터에 의한 C ++ 함수 입력 인수

분류에서Dev

C의 구조체 포인터 상속?

분류에서Dev

구조체와 포인터 C ++

분류에서Dev

C / STM32 구조 포인터

분류에서Dev

C의 구조와 typedef와 포인터

분류에서Dev

C 구조체와 포인터 혼동

분류에서Dev

C 구조의 포인터 크기

분류에서Dev

C-구조의 포인터

분류에서Dev

C 및 C ++의 포인터

분류에서Dev

C에서 실행되는 포인터 및 참조

분류에서Dev

C ++ 포인터 목록 및 참조에 의한 통과

분류에서Dev

C ++ 포인터, 참조 및 함수 호출

분류에서Dev

C ++ 입문서-배열에 대한 포인터 및 참조

분류에서Dev

C : 구조체 초기화 및 함수 매개 변수의 포인터에 할당

분류에서Dev

C ++ 포인터-구문 및 실패한 프로그램

분류에서Dev

구조, 포인터 및 주조 코어 덤프

분류에서Dev

포인터, 참조, 구조 및 함수가있는 scanf