我是C的新手,我开始编写一个在启动后运行的简单程序,没有操作系统,所以我没有{\ n \ n {1}}等等。
我试图了解内存管理;看看这个例子:
malloc
我怎么知道char *a = read_string(); // gets user input string, the length is unknown.
char *b = read_string();
没有覆盖b
?
特别是在编写只在运行时知道字符串长度的函数时?
答案 0 :(得分:1)
在您的问题中,一切都取决于read_string()
函数实现。如果该函数为每个新字符串正确分配内存,则a
和b
指针将指向不同的字符串。
答案 1 :(得分:0)
我必须编写自己的内存管理器来跟踪已分配的内存。
大家好。