当前位置: 首页 > wzjs >正文

网站建设课程教学改革网站建设肆金手指排名

网站建设课程教学改革,网站建设肆金手指排名,快速网站排名提升,全屏网页设计尺寸一、什么是野指针 野指针: 是指向无效或未定义内存地址的指针,其值通常是随机的、不确定的,可能指向已被释放的内存、未初始化的区域或非法地址 。与空指针(NULL)不同,野指针本身并不是NULL,而…

一、什么是野指针

野指针:

         是指向无效或未定义内存地址的指针,其值通常是随机的、不确定的,可能指向已被释放的内存、未初始化的区域或非法地址
。与空指针(NULL)不同,野指针本身并不是NULL,而是指向无法正常访问的内存空间,操作野指针可能导致程序崩溃或数据损坏

二、野指针与空指针的区别

特征               野指针                                              空指针(NULL)
​定义​          指向无效或随机地址的指针                  显式赋值为NULL的指针
​安全性​      危险,可能导致崩溃或错误                  安全,解引用会明确报错
​成因​          未初始化、释放后未置空等                  开发者主动赋值NULL
​处理方式​      需通过初始化或置空规避                  可通过条件判断避免误用

三、代码示例

#include <stdio.h>
#include <stdlib.h>/*
1.返回局部变量的地址:函数返回局部变量的地址时,局部变量生命周期结束后内存会被回收
int* test() {int n = 100;return &n; // 返回局部变量地址
}
int* p = test(); // p成为野指针
改正:改用动态内存分配或静态变量:
*/
int* getIntPointer(int value) {static int* size = NULL;int* ptr = malloc(sizeof(int));if (ptr == NULL) {fprintf(stderr, "Memory allocation failed\n");return NULL;}*ptr = value;return ptr,size;
}int main()
{//野指针的成因// 2.指针未初始化:此时p指向未知区域,解引用可能导致段错误//int* p;  // 未初始化,p为野指针//*p = 10; // 非法访问随机地址// 改正:1、未明确指向时初始化为NULL//      2、显式赋值有效地址:int *p = &valid_varint* p = NULL;// 3.​指针指向已释放的内存//int* p = (int*)malloc(sizeof(int));//free(p);  // 释放内存//*p = 20;  // p仍指向已释放的地址,成为野指针// 改正:释放内存后置空指针int* p2 = (int*)malloc(sizeof(int));if (p2==NULL) {printf("内存分配失败\n");return -1;}else {printf("内存分配成功\n");*p2 = 20;  // 正确访问已分配的内存p2 = NULL; // 释放后置空}//​ 4.指针越界访问:访问超出数组范围的地址时,指针指向非法内存://int arr[10] = {0};//int* p = arr;//for (int i = 0; i <= 11; i++) {//    *(p++) = i; // 越界后p成为野指针//}// 改正int arr[10] = {0};int* arr_p = arr;for (int i = 0; i <= 11; i++) {*(arr_p++) = i; // 越界后p成为野指针}return 0;
}

四、野指针的成因及预防方法

1,成因:返回局部变量的地址:函数返回局部变量的地址时,局部变量生命周期结束后内存会被回收

      预防:改用动态内存分配或静态变量

2, 成因:指针未初始化:此时p指向未知区域,解引用可能导致段错误

      预防:

              a、未明确指向时初始化为NULL
              b、显式赋值有效地址:int *p = &valid_var

3,成因:指针指向已释放的内存

      预防: 释放内存后置空指针

4, 成因:指针越界访问:访问超出数组范围的地址时,指针指向非法内存

      预防:数组遍历是声明合适大小的的循环变量


文章转载自:

http://kJR3fGvH.zrbpx.cn
http://wvb2SouP.zrbpx.cn
http://0bZoUggM.zrbpx.cn
http://m5pBWeI5.zrbpx.cn
http://HAHJB5aP.zrbpx.cn
http://UlH1o19V.zrbpx.cn
http://laf3j2Tr.zrbpx.cn
http://pvyj4cIQ.zrbpx.cn
http://L8uClcob.zrbpx.cn
http://A7nwicBI.zrbpx.cn
http://s47kBbqN.zrbpx.cn
http://8Uhre4Ts.zrbpx.cn
http://X8fL3Lfj.zrbpx.cn
http://FtzqOU3y.zrbpx.cn
http://6vGHZ9Px.zrbpx.cn
http://jWQzBtRD.zrbpx.cn
http://waPZa48G.zrbpx.cn
http://qN0UEyON.zrbpx.cn
http://FdRx2I9o.zrbpx.cn
http://GH8UOh17.zrbpx.cn
http://xHLaiwli.zrbpx.cn
http://3wmQl4fh.zrbpx.cn
http://caMuztqT.zrbpx.cn
http://qcdFobS3.zrbpx.cn
http://b1bCCknK.zrbpx.cn
http://zpJuIpcB.zrbpx.cn
http://Deksfb4G.zrbpx.cn
http://pJaflldv.zrbpx.cn
http://J9HT2PJY.zrbpx.cn
http://NAhwBoJb.zrbpx.cn
http://www.dtcms.com/wzjs/702025.html

相关文章:

  • 南山建网站公司百度网盘下载
  • 成都建设厅官方网站查询虚拟电脑主机平台
  • 小视频做网站怎么赚钱永州网站建设多少钱
  • 学做网站 为了熊掌号WordPress静态主题
  • 河北大名网站建设招聘厦门做网站多少
  • 青岛网站建设 青岛博采网络网络营销的建议方案
  • 深圳网站建设 设计首选深圳市网站建设目标责任
  • 上海闵行刚刚发生的做网站建设优化的公司排名
  • 怎样发布自己的网站wordpress首页自定义缩略图
  • 网站宣传语深圳求职招聘网站
  • 360网站托管电商erp软件排名
  • 企业网站案例建设要求合肥有哪些做网站的
  • 中职校园网站建设建议网络营销策略包括哪些方面
  • 廊坊专业网站网站论文收录网站
  • 巴中建网站的公司南宁网络
  • 东莞大朗网站设计ui交互设计作品
  • 网站内容管理系统wordpress 图片浮动
  • 南平公司做网站怎么生成网页
  • 网站推广维护哪个网站专做进口商品的
  • 做网站用的笔记本配置宁波网站建设免费咨询
  • 网站建设公司 技术评估wordpress 如何 删除授权
  • win10 中国建设银行网站中国贸易网怎么样
  • 科技部网站seo网站排名优化公司哪家
  • 安全生产标准化建设网站微网站设计与开发教程
  • 成都培训学校网站建设去年做哪些网站能致富
  • 网站内页布局的不同上海建筑设计研究院有限公司官网
  • 网站排名监控工具做车贴网站
  • 网站备案查询不出来自媒体运营主要做什么
  • 自助网站建设工具网站建设就业
  • 律师网站建设哪家专业易云巢做网站公司