아래에 있는게 코드입니다
1-5번째줄에 Node라는 구조체를 만들고
9-13번째는
Node구조체의 포인터 같은데 아직 주소값을 가르키고 있지 않는것 맞나요?
제 C기본서에 있는바로는
Node s; // 노드구조체의 변수 s 생성
Node* newmode=NULL;
newmode=&s // 구조체변수 s의 주소값을 가르키는 포인터
이렇게 포인터로 지정해야 newmode->data (node안에있는 맴버) 이렇게 활용 할 수 있는게 아닌가요?
그런데 25-27번째 코드줄에선 newmode가 구조체를 가르키지 않았는데 어떻게 맴버를 사용할수있는건가요?
동적할당을 하면 자동적으로 가르키게 되는건가요?
제가 입문자라 풀어서 설명해주시면 감사하겠습니다..
네. 동적 할당을 해도 동일하게 이용 가능합니다.
동적할당이 주소값을 가르키는것과 연관이 있나요??
어떤 원리로 되는지가 궁금합니다
malloc으로 메모리 상에 Node 구조체 하나를 할당하고 그 주소를 newNode에 대입하는 것이기 때문에 지역변수로 Node 만들어서 주소 대입하는 것과 똑같습니다.
댓글을 작성하려면 로그인해야 합니다.
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가 구조체를 가르키지 않았는데 어떻게 맴버를 사용할수있는건가요?
동적할당을 하면 자동적으로 가르키게 되는건가요?
제가 입문자라 풀어서 설명해주시면 감사하겠습니다..