首页 > 解决方案 > 与对所有人使用相同的 typedef 字符串相比,在 C 中指定不同的 typedef 字符串长度是否会减少内存使用?

问题描述

例如,如果我有 C 或 C++ 代码,我使用 typedef 创建不同类型的字符串,如下所示:

typedef char shortString[20];
typedef char longString[50];
typedef char veryLongString[100];

这样做实际上消耗的内存是否比我为所有这样的字符串变量只有一个 typedef 字符串?

typedef char string[100];

标签: c++cchartypedefc-strings

解决方案


Atypedef不会影响程序的内存。它是一个编译工具。

您可以使用常量来代替数组大小:

const unsigned int COMMON_BUFFER_LENGTH = 64U;
char my_text_buffer[COMMON_BUFFER_LENGTH];

一个更简单的方法是使用std::string. 该std::string类型为您管理内存,不需要终止 nul 字符。


推荐阅读