一、疑问点指针是C语言一个很强大的功能,同时也是很容易让人犯错的一个功能,用错了指针,轻者只是报个错,重者可能整个系统都崩溃了。下面是大家在编写C程序时,经常遇到的一种错误的使用方法,也许在你的学习和工作中就是这样用的,很危险。实例程序如图1所示:图1实例程序这段程序比较简单,str1指向的内存区域存放了一个字符串“123”,把“123”赋值到str2指向的内存区域,编译时会给出一个告警:loca
分类:
其他好文 时间:
2019-07-17 19:12:28
阅读次数:
110
一、疑问点指针是C语言一个很强大的功能,同时也是很容易让人犯错的一个功能,用错了指针,轻者只是报个错,重者可能整个系统都崩溃了。下面是大家在编写C程序时,经常遇到的一种错误的使用方法,也许在你的学习和工作中就是这样用的,很危险。实例程序如图1所示: 图1 实例程序这段程序比较简单,str1指向的内存 ...
分类:
其他好文 时间:
2019-07-17 19:06:48
阅读次数:
120
后端开发面试题 #后端开发面试知识点大纲: ##语言类(C++): ###关键字作用解释: volatile作用 Volatile关键词的第一个特性:易变性。所谓的易变性,在汇编层面反映出来,就是两条语句,下一条语句不会直接使用上一条语句对应的volatile变量的寄存器内容,而是重新从内存中读取。 ...
分类:
编程语言 时间:
2019-06-29 18:58:54
阅读次数:
117
浅拷贝和深拷贝 在某些状况下,类内成员变量需要动态开辟堆内存,如果实行位拷贝,也就是把对象里的值完全复制给另一个对象,如A=B。这时,如果B中有一个成员变量指针已经申请了内存,那A中的那个成员变量也指向同一块内存。这就出现了问题:当B把内存释放了(如:析构),这时A内的指针就是野指针了,出现运行错误 ...
分类:
编程语言 时间:
2019-06-19 10:05:49
阅读次数:
123
异常:异常(Exception)是可预料的执行分支,bug是不可被预料的执行分支 异常:除以0,数组访问越界。 bug: 使用野指针,申请内存没有释放。 C语言异常处理方法: int setjump(jmp_buf env) :将上下文保存在jmp_buf结构体 void longjump(jmp_ ...
分类:
编程语言 时间:
2019-05-14 19:05:04
阅读次数:
134
#include <stdio.h>int main(){ int a = 10; int *p; p = &a; printf("这就是指针p指向的地址里存的值%d ,说起来容易,用起来准糊涂\r\n", *p); //改了指针指向的地址的内容 *p = 8888; printf("这样一来,a的 ...
分类:
其他好文 时间:
2019-01-24 11:05:13
阅读次数:
168
野指针就是指向无效地址的指针。 一般有三种情况导致野指针问题: 1 引用未初始化的指针变量 # include <stdio.h> int main(void) { int i = 3; int *j; *j = i; //指针j还未初始化,即指针j指向0XCCCCCCCC内存空间,该地址应用程序无 ...
分类:
其他好文 时间:
2019-01-07 17:41:28
阅读次数:
153
Visual Studio调试时,出现“触发一个断点”内存释放出现异常 数组和对应指针的NULL初始化 数组使用之前要先对其初始化 对应指针进行动态初始化 分配内存后,需要对内存进行释放,程序对内存进行释放后,并不会将其置为NULL,必须手动将指针置为NULL,防止访问野指针或再次释放出错。 释放内 ...
分类:
编程语言 时间:
2018-12-20 16:59:00
阅读次数:
164
原文地址:https://blog.csdn.net/zhaojinjia/article/details/8770989 悬垂指针: 1:提出的原因: 请看下面的代码片段: int *p=NULL; int *p=NULL; void main() void main() { { int i=10 ...
分类:
其他好文 时间:
2018-11-13 13:07:40
阅读次数:
126
第32课 - 野指针和内存操作分析 一.概念 l 野指针通常是因为指针变量中保存的值不是一个合法的内存地址而造成的。 l 野指针不是NULL指针,是指向不可用内存的指针。 l NULL指针不容易用错,因为if语句很好判断一个指针是不是NULL。 l C语言中没有任何手段可以判断一个指针是否为野指针。 ...
分类:
编程语言 时间:
2018-10-15 21:18:14
阅读次数:
217