ghkd3778   2년 전


구조체 선언한 부분(10번줄)에서error: unknown type name ‘node’가 뜨는데 이유를 알 수 있을까요?

비주얼 스튜디오에서는 잘만 되는데..

simm4256   2년 전

C에서 struct를 선언한 이후

struct형 변수를 만드려면

앞에 struct를 명시해야합니다.


e.g

struct node *head;


만약 이 과정이 싫으시다면 

struct를 선언하실 때, typedef를 써주시면 됩니다.


e.g

typedef struct node{

...

}node;

node *head;



VS에서 저 코드가 오류없이 돌아가는 이유는

cpp로 컴파일을 하셨기 때문일겁니다.


C++에서는 굳이 struct를 typedef로 선언하지 않아도 위 예시처럼 변수 선언이 가능합니다.

소스파일의 확장자를 cpp에서 c로 변경하신 후 컴파일하시면 오류가 나올겁니다.

ghkd3778   2년 전

앗.. 답변 감사합니다!

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