Q1. 字符指针用于指向存储给定字符串的位置。如果我们不断重新分配字符串,是否会导致内存泄漏?
在Linux系统上,我看到:
$ cat chk.c
#include <stdio.h>
#define VP (void *)
int main()
{
char *str;
str = "ABC";
printf("str = %p points to %s\n", VP str, str);
str = "CBA";
printf("str = %p points to %s\n", VP str, str);
return 0;
}
$ cc chk.c && ./a.out
str = 0x8048490 points to ABC
str = 0x80484ab points to CBA
$
问题2. 可以分配的字符串的最大长度是多少?