2012-11-30 3 views
0

struct를 선언하는 두 가지 방법의 차이점은 무엇입니까?구조체 선언

첫 번째 방법 :

struct x {}; 

두 번째 방법 : 유형 만 struct x

struct _x {} x; 

답변

2

첫 번째 정의합니다. 두 번째 형식은 struct _x을 정의하고x이라는 형식의 변수를 정의합니다.

_x과 같은 밑줄로 시작하는 이름은 파일 범위에 예약되어 있으므로 다른 범위 안에 있지 않으면 두 번째 파일에서 정의되지 않은 동작이 발생합니다.

2

두 번째 방법은 struct _x이라는 변수에 x이라는 변수를 선언합니다. 첫 번째 유형은 struct x 유형 만 선언합니다.

번째 방법은 본질적

struct _x{}; // define a type 
struct _x x; // allocate a variable of type struct _x 
와 동일