动态改变char变量的大小

Dynamically change size of char variable

本文关键字:变量 改变 char 动态      更新时间:2023-10-16

我想使用一个大小可以动态改变的字符串或字符变量。不需要指定大小和在代码中可以添加一个单元格和插入新的字符到单元格。我对这个动作使用以下代码:
char *align_A = (char*)malloc(lenMax*sizeof(char));
是否有另一种方式,我不需要指定大小(在这里lenMax),当我想添加新的字符到数组或内存,动态添加一个单元格,并插入字符字符。我可以使用string进行此操作吗?
例如:首先在alignA中添加A字符,对于下一个字符B,内存或数组的大小发生了变化,然后将B添加到和…

由于您使用的是c++而不是C,请使用std::stringstd::vector,它们将使您的工作更轻松,因为它们是专门为您描述的任务设计的。

如果你真的想坚持char *,那么检查c风格的realloc函数

您可以使用std::string push_back方法来实现此目的。它直接在字符串的末尾追加一个新字符。STD库自己处理内存问题

您需要动态创建数组并从堆中获取内存。可以使用new命令或malloc命令。它将在堆上分配内存,但在正常定义中创建数组将使用堆栈内存。