Re: [問題] 陣列空元素
看板C_and_CPP (C/C++)作者su31o4gj83 (哈哈哈哈哈哈哈哈哈哈哈)時間16年前 (2009/08/20 16:57)推噓2(2推 0噓 13→)留言15則, 6人參與討論串4/4 (看更多)
因為看到 tinlans 大的推文
所以在網路上爬了一些文後, 做了一個小測試
發現的確是可行的, 雖然沒辦法做 sizeof
(註解處, 用 char data[0] 可以做 sizeof, 這部分我覺得可以接受)
我猜想 char data[] 應該也不佔記憶體 !!
#include <stdio.h>
typedef struct{
int head;
int size;
char reply;
char data[];
}packet;
int main(){
packet *cmd = malloc(sizeof(packet) + 20);
printf("%p\n", cmd);
printf("%p\n", cmd->data);
// printf("%d\n", sizeof(cmd->data) );
printf("%d\n", sizeof(packet) );
free(cmd);
getchar();
return 0;
}
另外有個小問題 (網路上看到的)
就是為什麼 sizeof(packet) 是 12 ?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.209.20.225
→
08/20 17:06, , 1F
08/20 17:06, 1F
→
08/20 17:07, , 2F
08/20 17:07, 2F
→
08/20 17:13, , 3F
08/20 17:13, 3F
→
08/20 17:14, , 4F
08/20 17:14, 4F
推
08/20 18:32, , 5F
08/20 18:32, 5F
→
08/20 18:32, , 6F
08/20 18:32, 6F
→
08/20 18:40, , 7F
08/20 18:40, 7F
→
08/20 18:41, , 8F
08/20 18:41, 8F
→
08/20 18:41, , 9F
08/20 18:41, 9F
→
08/20 18:43, , 10F
08/20 18:43, 10F
→
08/20 20:17, , 11F
08/20 20:17, 11F
→
08/20 20:18, , 12F
08/20 20:18, 12F
推
08/20 20:19, , 13F
08/20 20:19, 13F
→
08/20 20:22, , 14F
08/20 20:22, 14F
→
08/20 21:04, , 15F
08/20 21:04, 15F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章