구문 :struct에서이`data [0]`선언의 목적은 무엇입니까? 이런 <strong>가요 어레이 부재</strong>의 C에서
struct s
{
int n;
double d[]; // flexible array member
};
그리고, C.
불법 제로 크기 어레이은이 같은 어레이 선언 경우
struct s
{
double d[0]; // Zero size array
};
GCC 경고 :
warning: ISO C forbids zero-size array 'd' [-Wpedantic]
그래서, 나는 내 주요 질문에 갈거야.
다음 코드 here을 보았습니다.
struct squashfs_xattr_entry {
__le16 type;
__le16 size;
char data[0];
};
C 크기가 0 인 배열이 잘못되었습니다. 그런 다음
,
- 구조체에서이
data[0]
선언의 목적은 무엇인가? data[0]
의 기능은 무엇입니까?
@chux 특히 GNU GCC와 Clang. 그러나 M $ VC는 길이가 0 인 배열을 거부합니다. – iBug
그래서 얼마나 많은 복제본이 있는지에 대해 구글도하지 않았습니까? –