1.태그를 생략한 경우.
#include <stdio.h> struct { int a; }SMART;
SMART는 자료형으로 struct를 받는다. 예를 들어 SMART a라고 선언하면 a는 smart가 자료형이 되어 struct 구조체가 된다. 그러나 이 방법은 smart a, b이렇게 두가지이상을 선언하지 못한다. struct 다음에 이름을 지정해주지 않으면 변수명을 2가지 이상 할 수 없다.
#include <stdio.h> typedef struct std_tag { int a; }smart;
이방법이 가장 일반적인 방법이다. smart1 a,b;이런식으로 사용가능 위의 방법보다 간결하고 변수를 여러개를 선언할 수 있다는 점때문에 구조체 선언시 가장 많이 쓰인다. 2.새로운 타입정의
#include <stdio.h> struct _SMART { int a; }; typedef struct _SMART SMART;
struct _SMART = 원래 타입 SMART = 새로운 타입선언.
3. 2번타입의 변형 형태
#include <stdio.h> struct _SMART { int a; }typedef struct _SMART SMART;
typedef struct _SMART { int a; } SMART;
}SMART1;
|