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

沈阳网站的建设外贸seo推广公司

沈阳网站的建设,外贸seo推广公司,深圳做网站外包公司,网站商城建设要多少钱一、什么是野指针 野指针: 是指向无效或未定义内存地址的指针,其值通常是随机的、不确定的,可能指向已被释放的内存、未初始化的区域或非法地址 。与空指针(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://www.dtcms.com/wzjs/491325.html

相关文章:

  • 推广品牌的策划方案北京做网络优化的公司
  • 怎么开公众号重庆优化seo
  • 专门帮忙做网站的公司推广赚钱的项目
  • 富平做网站优化网站打开速度
  • 云南做网站找谁西安百度快速排名提升
  • 如何建设网站兴田德润怎么联系seo职业技能培训班
  • wordpress app模板下载公司优化是什么意思
  • 网站推广常用方法有哪些seo专业推广
  • 怎样做公司的网站建设长尾词挖掘工具
  • 网站运营合同抖音搜索引擎优化
  • 许昌住房建设局的网站实体店怎么推广引流
  • 建设网站模板搜索引擎优化理解
  • 关于网站建设的案例分析优化网站推广教程排名
  • 重庆网站建设cqhtwlseo外链优化培训
  • ps做网站要求成都新一轮疫情
  • 做网站的图片c盘优化大师
  • 辽宁城乡和住房建设部网站友博国际个人中心登录
  • 建站公司有哪些服务营销战略
  • 龙岗网站设计案例seo培训网
  • 安徽网站开发项目和业务多一样的平台
  • 丹东网站制作小程序seo
  • 网站建设山东聚搜网络一xseo网络推广培训班
  • 爬黄山旅游攻略游览路线上海关键词优化按天计费
  • 自己买空间做网站怎么推广销售
  • 南冒网站建设制作推广公司企业网站营销优缺点
  • 东莞做网站的长沙网站seo方法
  • 北京市城乡和建设规委官方网站百度竞价项目
  • wordpress ie兼容插件优化网站的目的
  • 网站怎么做认证东营网站建设哪家更好
  • 为什么要给大夫做网站seo查询平台