le_effort   5년 전

아래에 있는게 코드입니다

1-5번째줄에 Node라는 구조체를 만들고

9-13번째는 

Node구조체의 포인터 같은데 아직 주소값을 가르키고 있지 않는것 맞나요?

제 C기본서에 있는바로는 

Node s; // 노드구조체의 변수 s 생성

Node* newmode=NULL; 

newmode=&s // 구조체변수 s의 주소값을 가르키는 포인터

이렇게 포인터로 지정해야 newmode->data (node안에있는 맴버) 이렇게 활용 할 수 있는게 아닌가요?

그런데 25-27번째 코드줄에선  newmode가 구조체를 가르키지 않았는데 어떻게 맴버를 사용할수있는건가요? 

동적할당을 하면 자동적으로 가르키게 되는건가요? 

제가 입문자라 풀어서 설명해주시면 감사하겠습니다..

lolicon   5년 전

네. 동적 할당을 해도 동일하게 이용 가능합니다.

le_effort   5년 전

동적할당이 주소값을 가르키는것과 연관이 있나요??

어떤 원리로 되는지가 궁금합니다

jung2381187   5년 전

malloc으로 메모리 상에 Node 구조체 하나를 할당하고 그 주소를 newNode에 대입하는 것이기 때문에 지역변수로 Node 만들어서 주소 대입하는 것과 똑같습니다.

댓글을 작성하려면 로그인해야 합니다.