[問題] 靜態陣列可調整大小?

作者: lionheart60 (宅熊冗厚)   2014-11-25 23:45:20
如果這是蠢問題就請噓爆我@@
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
GCC
問題(Question):
有一個巢狀結構如下述,請問那個records的陣列大小是可以調整的嗎@@?
程式碼(Code):(請善用置底文網頁, 記得排版)
typedef struct{
time_t t;
double d;
}Value;
typedef struct{
int NumberOfRecords;
struct _Record{
char Name[64];
Value value;
}records[1];
}Message;
作者: wuliou (wuliou)   2014-11-25 23:59:00
records的的宣告在哪?
作者: azureblaze (AzureBlaze)   2014-11-26 00:04:00
為何不直接試試看?
作者: PoorLoser (廢文製造機)   2014-11-26 00:05:00
可以啊, 填多少就有多少個 _Record不過小魯習慣把 _Record 型態定義在外面
作者: wuliou (wuliou)   2014-11-26 00:10:00
啊 眼殘了 歹勢
作者: PoorLoser (廢文製造機)   2014-11-26 00:30:00
不可以, 左邊要是 pointer然後你宣告完產生的物件裡面就佔了那麼大的空間用 malloc 做甚麼?不太懂欸, 對成員賦值的確是這樣填, 不然也可以建立一個 _Record 把值都填好然後用 memcpy 整個塞進去若是初始化就要填固定資料的話可加上 packed方法就你提的, 改 records 陣列大小用指標但要用指標不如就改寫成 linked list

Links booklink

Contact Us: admin [ a t ] ucptt.com