배열 초보 질문.

pjh0347의 이미지

char a[0];

이런 선언은 언제 필요합니까? 무슨용도로 저렇게 사용하는지 궁굼합니다.

sizeof(a) 이렇게 하면 0 이 나오고,

a[0] = 1; a[1] = 2; 이런식으로 사용해도 문제 없는데.

정말 특이한놈 만났습니다. ;;

pynoos의 이미지

struct 맨마지막에 멤버로 선언합니다.
보통 그 struct는 header 부분에 대한 정보가 있을 것이고,
뒤 따라오는 가변길이의 데이터를 참조하기 위한 방법입니다.

C99에서는 가변길이의 struct가 표준으로 들어 왔고 거기서도
이와 비슷하게 struct 마지막 멤버로 사용가능합니다.

cinsk의 이미지

pjh0347의 이미지

오 답변 감사합니다. 무지 빠른 답변 이구 이해가 팍팍되네요. ㅋㅋ ^^

수고하세요