구조체변수값 대입하는 법에 대해서..
흡뜨다
질문 내용 : 아래 소스 참고 부탁드리겠습니다.
아래 message.c 소스 파일에 값을 대입하면
주석처리를 없애고 우선 빨간색 값을 대입하면 실행하면 에러가 발생합니다. 잘못된 구문이라고요...
주석처리를 없애고 파란색 부분을 대입하면 정상적으로 동작합니다.
왜 이런 에러가 발생하는 지 알고 싶습니다.
// message.c 소스 파일 입니다.
#include message.h
#include stdio.h
//msg_head.Flags = 10;
// messages
void MS_PreAttachment_Req()
{
// msg_head.Flags = 10;
printf(%d, msg_head.Flags);
}
// message.h 헤더 파일입니다.
// structure of message header
typedef struct{
int Version;
int Flags;
int Function_Type;
int OP_ID;
int Message_Type;
int Length;
int MSID; //MAC addr.
int Transaction_ID;
} Message_Header ;
Message_Header msg_head;
// 메인 함수
#include stdio.h
#include stdlib.h
#include message.h
int main()
{
MS_PreAttachment_Req();
}
-
사랑
답변 감사합니다. 기본에 충실하겠습니다. ^^
좋은 하루 되세요. -
마징가
함수 밖에서는 선언문과 정의문 외에 다른 문장을 사용할 수 없습니다.
-
황소자리
msg_head.Flags = 10;
이 줄을 main 함수 처음에 넣어주면 됩니다. -
머슴밥
전역에서 값을 대입하는 것은 변수를 선언함과 동시에 하는 초기화 때 외에는 있을 수 없습니다.