typedef struct Foo {
int len;
char data[0];
} foo;
int main()
{
printf("size=%d\n", sizeof(foo));
return 0;
}
size = 4
머 특별한 스킬이라기 보다는...
저같은 경우 내부 메시지 포맷을 위해 사용했는데요.
데이터의 길이가 datalen, 데이터가 *data 변수에 있는 경우
foo *HandleFoo = malloc(sizeof(foo)+datalen);
HandleFoo->len = datalen;
memcpy(HandleFoo+sizeof(int), data, datalen);
구조체에서 쓰이는 0짜리 배열...
typedef struct Foo {
int len;
char data[0];
} foo;
int main()
{
printf("size=%d\n", sizeof(foo));
return 0;
}
size = 4
머 특별한 스킬이라기 보다는...
저같은 경우 내부 메시지 포맷을 위해 사용했는데요.
데이터의 길이가 datalen, 데이터가 *data 변수에 있는 경우
foo *HandleFoo = malloc(sizeof(foo)+datalen);
HandleFoo->len = datalen;
memcpy(HandleFoo+sizeof(int), data, datalen);
이렇게 사용하면 구조체 멤버 data를 통해 실제 데이터에 접근할 수 있지요.. ㅡㅡ
이런 비슷한 의미로 사용했을듯 하네요.
포탈이는 불사신
-------------
포탈이는 불사신
감사 드립니다. (_)
일종의 패딩 개념으로 쓰인것 같더군요 .
답변 감사 드립니다. ^^ 역시 직접 쳐보는게 가장 좋은듯 하네요
댓글 달기