问题
函数返回的指针后,取访问该指针指向的内存区域,但是这块内存区域已经在函数内被释放掉了,这时我们访问的这个内存区域是未初始化的,所以会出现访问非法内存地址的错误,这个错误很严重,直接会导致程序崩溃。
解决返回函数计算结果的方法有三种:
● 函数内分配内存空间, 该方法容易导致内存泄露和程序崩溃,不推荐使用。
● 函数内分配静态内存空间, 在多次调用该方法的情况下需要注意变量内容被覆盖的问题。
● 函数外分配内存空间,然后作为函数参数传递进函数内部,该方法虽然麻烦点,但是错误率比较低,推荐使用。