죄송합니다.이 질문이 전에 요청 된 경우. 그래서 내 검색에서 나는 내가 알고 싶은 것을 물어 본 사람을 찾지 못했습니다. 나는이 때포인터 초기화
기본적으로 :
typedef struct node
{
int data;
node *node;
} *head;
와 내가 선언과 공간을 확보하지만, struct node
에 대한 포인터를 정의하고 있지 않다 인상입니다 node *newItem = new node;
을 올바른 것입니다 ? 내가
newItem->data = 100
및 newItem->next = 0
을 수행 할 때
그래서 나는 혼란스러워. newItem = 0
정확히 무엇을 선언하겠습니까? data
및 next
? 전체적으로 개체?
typedef를 사용할 때 특히 혼란 스럽습니다. 어떤 부분이 매크로입니까? 내가 노드라고 생각하기 때문에 그렇게 부르지 만, 왜 내가 필요합니까?
마지막으로, 내가 무엇을 할 때 발생합니다
node *temp;
temp = new node;
temp = head->next;
head->next = newItem;
newItem->next = temp;
내 말은, 머리 -> 다음 인 newItem 객체를 가리키는 포인터이다, 그래서 나는 newItem.data 또는 자신 옆에하지 가정합니다. 그렇다면 위에 설명 된 초기화되지 않은 포인터를 여기에서 안전하게 사용하려면 어떻게해야합니까? 머리가 초기화되지 않은 포인터를 가리키고 있지 않습니까?
내가 선언과 공간을 예약 오전 인상입니다