c - 声明一个固定长度字符串的可变长度数组

标签 c arrays pointers syntax

我需要一个字符串数组。字符串的长度在编译时已知,每个字符串占用这么多空间是至关重要的。另一方面,字符串的数量只有在运行时才知道。这是什么语法?

char* data[STRLENGTH] 语法不正确。 char** data 大多数情况下有效,但 sizeof(data[0]) 是错误的——它应该等于 STRLENGTH

最佳答案

@Daniel 是正确的,但是这段代码会使阅读它的人感到困惑——这不是您通常会做的事情。为了使其更易于理解,我建议您分两步进行:

typedef char fixed_string[STRLENGTH];
fixed_string *data;

关于c - 声明一个固定长度字符串的可变长度数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10692189/

相关文章:

c - 读/写 txt 字符串

c - Pro*C 字符复制 (ORACLE DB)

java Jbutton数组阻止构造函数完成运行

javascript - 对循环中的对象数组应用折扣,无论哪个对象的支付值较高?

c++ - 传递给函数的数组参数不是常量指针吗?

c++ - 我的 GUI 模板化小部件系统出现问题

c - 更新打印到屏幕的 ascii 网格而不重新打印网格

c - 在 C 中使用 libcurl 保存文件

python - 为什么 np.compress 比 bool 索引更快?

c - 带有*结构的函数原型(prototype)?