// RGBTRIPLE 구조체로 파랑, 초록, 빨강값을 가져옴
unsigned char blue = pixel->rgbtBlue;
이 부분이 어떻게 동작하는지 궁금합니다
구조체 선언할때 자동으로 파랑값이 저장되는건가요?
아무런 명령어 없이도 그냥 해당 이름으로 변수를 선언하는 것 만으로도
비트맵 픽셀의 파랑값을 읽어올수 있는건가요?
이해가 안되네요. 그외에 나머지 모든 구조체 변수들도 마찬가지로 그냥 선언함과 동시에 값이 정해져있는것 같아 보이는데 제가 잘못 이해한건지 모르겠네요
죄송하지만, C 언어 코딩 도장은 처음부터 순서대로 학습했을 때 내용을 이해하게 되어 있습니다.
또한, C 언어 표준에 따라 설명하고 있으며 대다수 C 언어 교재들이 표준을 벗어나 잘못 설명한 내용에 대해 바로 잡고 있습니다. 가능하면 코딩 도장은 처음부터 학습해주세요. 기초부터 바로 잡고 제대로 이해하는 게 중요합니다.
구조체는 UNIT 48~56까지 있습니다. 급하다면 해당 부분을 찾아보세요. 이해가 안 되는 부분이 있다면 이것 역시 순차적으로 학습하지 않은 부분이어서 어쩔 수 없습니다. 코딩 도장은 중도 학습을 권하지 않습니다. 학습자가 어느 수준인지, 어떤 것을 이전에 학습했는지 알 수 없기 때문입니다.
순서대로 학습해도 이전 경험이 있다면 훨씬 빠르게 학습할 수 있을 것입니다. 멀리 돌아가는 것 같아도 실은 이게 지름길입니다.
<C 언어 코딩 도장>은 다른 입문서와 달리 왕초보 수준에서 시작해서 상당한 수준의 C 언어까지 학습하게 되어 있습니다. 예를 들어 strcmp 함수가 윈도와 리눅스 플랫폼에서 동작이 다릅니다. 대다수 교재는 설명하지 않습니다. 현업에서는 이 부분 때문에 시행착오를 상당히 자주 겪습니다.
대다수 교재는 "시퀀스 포인트"를 설명하지 않습니다.
int i = 1;
i = i++ + ++i;
이는 시퀀스 포인트 위반으로 C 언어 표준 위반입니다. 이를 시험 문제로 출제하는 대학교나 교재의 연습문제가 많습니다. 모두 잘못된 것입니다.
C 언어에는 참조에 의한 호출(call by reference)가 없습니다. 표준에도 없습니다. 이 역시 잘못된 설명입니다.
<C 언어 코딩 도장>은 1440페이지나 되는 이유입니다. 초보자가 상세하게 배우게 되어 있습니다. 위 질문에 답할 수 없다면 처음부터 학습하세요.