如果我在嵌入式系统上痴迷于高效的内存管理,那么如何存储具有内存块效率的64字节密码之类的东西呢?

例如我会

int len = 65;
char password[len ];
memset(password, 0, len );
GetPwFunction(password);
password[len - 1] = '\0';


但是现在我用65而不是64创建了一个更难看的东西(至少这是其他程序员告诉我的...)。

最佳答案

仅当您要存储C字符串时,即要将字符串传递给例如+1printf或其他字符串函数时,才需要strlen,即65而不是64。这些功能需要一个终止字符\0,因此您需要比实际内容多一个字节。如果只想存储和检索字节,则可以继续使用64。如果要存储8位值,请使用unsigned char

关于c - 在嵌入式系统中存储char数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52780378/

10-09 15:52
查看更多