用mallo给变量分配空间,一定要记得释放(free),否则容易引起内存泄露。
但是用free释放变量空间时,一定要保证变量指向的地址不变,否则也容易引起内存泄露。
程序如下:
程序运行结果为:
程序中p指针接收了strchrt函数的返回值,而strchr函数的返回值为指针,即地址(所找字符的地址),所以p指针开始指向第一个y字符,而不是malloc分配空间的首地址。
而相对m指针,也是用malloc分配了地址空间,但是只是将一个字串存到了这个分配好的地址空间中,并将首地址作为该字串的首地址,并没有改变m变量的值。