簡體   English   中英

如何定義一個 C 結構,其中包含一個具有設定大小的字符(對於動態數組)?

[英]How do I define a C struct containing a char that has a set size (for dynamic arrays)?

如何定義包含具有設定大小的 char 的結構(對於動態數組)?

在 C 中,如果您不制作可變長度 arrays (聲明的數組長度不是const int也不是 litteral),則所有內容都應該具有固定大小。

因此,假設問題“如何定義具有設定大小並包含 char 數組的結構”,以下答案將起作用:

struct mystruct {
    char c[256];
};
/* sizeof(struct mystruct) == 256 */

在其他地方分配字符串:

struct mystruct {
    char *c; 
};
/* sizeof(struct mystruct) == 8 */

請注意,第一個答案對字符串的最大長度以及分配的 memory 的最小數量有限制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM