指针不置空的尴尬

part 1

#include <iostream>
 
 
using namespace std;
 
int main(){
     
    int *pOne = new int(1);
 
     
    delete pOne;
     
    int *pTwo = new int(2);
     
    *pOne = 100;
     
    cout<<"one:"<<*pOne<<endl;
    cout<<"two:"<<*pTwo<<endl;
     
 
    return 0;
}

one:100
two:100

part 2

char *p = (char *) malloc(100);

strcpy(p, “hello”);

free(p); // p 所指的内存被释放,但是p所指的地址仍然不变

if(p != NULL) // 没有起到防错作用
{
  strcpy(p, “world”); // 出错
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容