나는 C89, C90, Ansi-C 코드를 작성 중이다. 내 함수 중 하나는 매개 변수로 구조체가 필요합니다. 그 구조체의 초기화로 함수를 호출하기를 원합니다. 구조체를 forst로 만들고 함수에 전달합니다.함수 호출에서 구조체의 초기화를 변수로 사용하는 방법은 무엇입니까? ANSI-C 버전
다음은 작동하는 스 니펫입니다. 여기
typedef struct {
char* EventName;
char* Message;
} Event;
Event myEvent = {
.EventName = "infomessage",
.Message = "Testmessage"
};
Notify(myEvent);
및
내가 일을Notify({.EventName = "infomessage", .Message = "Testmessage"});
또는 더 나은
Notify({"infomessage", "Testmessage"});
EDIT를 작성하지만, 느릅 나무 나던하고자하는 것입니다 : 1990 표준 : LabCVI는 ISO 9899을 사용하고 있습니다.
BTW : 그들은 ANSI-C가, 느릅 나무는 ISO-C90에 해당 말할 때 대부분의 사람들이 ANSI-C89을 의미; 마찬가지로 ISO-C99는 ANSI-C2000과 동일합니다. 내가 ANSI-C로 언급 한 사람이 C99를 언급 한 유일한 곳은 여기에있다. – Christoph
아, 초보자 실수 일 수있다. 그러나 내가 읽은 모든 "현대적인"Ansi-C 책은 ... C99를 참조한다. 독일어로되어 있을지도 모릅니다. 내가 사용하고있는 IDE는 LabCVI 2010입니다. ++ 연산자와 구조체의 구성 요소 초기화를 이해하기 때문에 C99라고 생각했습니다. – Johannes