网站模板含数据库下载,东阳网站建设报价,淘宝客单页网站程序,为网站设计手机版点击上方蓝字关注我#xff0c;了解更多咨询1、指针变量未初始化#xff0c;任何指针变量刚被创建时不会自动成为 NULL 指针#xff0c;它的缺省值是随机的。所以#xff0c;指针变量在创建的同时应当被初始化#xff0c;要么将指针设置为 NULL #xff0c;要么让它指向合… 点击上方蓝字关注我了解更多咨询1、指针变量未初始化任何指针变量刚被创建时不会自动成为 NULL 指针它的缺省值是随机的。所以指针变量在创建的同时应当被初始化要么将指针设置为 NULL 要么让它指向合法的内存。#include stdio.h
void Swap(int *p1,int *p2)
{int *tmp;*tmp*p1;*p1*p2;*p2*tmp;//*p1指向了无效地址程序会给出警告使用了未初始化的局部变量tmp,*tmp的值无法被访问因为tmp未初始化它的地址是个随机值0xcccccccc
}如果没有初始化编译器会报错‘point’ may be uninitializedin the function。2、指针释放后之后未置空。指针在 free 或 delete 后未赋值 NULL 它们只是把指针所指的内存给释放掉但并没有处理指针本身。此时指针指向不可知的随机的、不正确的、没有明确限制的。释放后的指针应立即将指针置为NULL防止产生野指针。int main()
{char *p;p(char*)malloc(10);printf(%s\n,p);if(p!NULL){free(p);}
free(p);//再次释放p时因为前面已经被释放了一次再次释放会报错
return 0;
}END*声明本文于网络整理版权归原作者所有如来源信息有误或侵犯权益请联系我们删除或授权事宜。戳“阅读原文”我们一起进步