
C/C++
Mr_Nicotine
这个作者很懒,什么都没留下…
展开
-
指针的概念解析,别再搞混了!指针数组和数组指针的区别!
1. 指针的的理解: 指针属于C/C++语言的范畴内的东西,与程序对内存的使用密不可分,先来介绍容易弄混的符号(token),例如有(例子1): int *p; 那么*p代表什么、&p代表什么、p又是什么? 1.1 理解的基础: 我们常说变量变量,那变量到底是什么呢?在编程中,一个变量会涉及到几个东西token、变量所使用的内存地址、变量的 ...原创 2019-02-26 21:44:27 · 214 阅读 · 0 评论 -
关于静态局部变量、静态全局变量、静态函数和静态存储的相关知识!
静态局部变量:存放在静态区(全局区),程序开始到结束一直存在,作用范围在所声明定义的函数体内;静态全局变量:区别于全局变量,全局变量默认的修饰符是“extern”,作用范围是整个程序的源代码文件,而静态全局变量只作用于所定义的源文件内;相同点是静态全局变量和全局变量都存放在静态区(全局区);静态函数:静态函数限定了函数的作用域,用static修饰的函数只能在本源文件内使用,其它与普通函数并...原创 2019-03-06 18:45:45 · 513 阅读 · 0 评论 -
发生内存泄露,如何调试?
一般来讲,程序运行错误,我们都会用gdb进行调试,查看程序报错中断时的栈帧信息,并根据信息对程序修改完善。然而,如果程序是因为发生内存泄露而终止时,栈帧的信息很可能是“不靠谱”的,这时可以借助定位程序内存泄露的工具(如valgrind)去发现错误点,并加以改正。原因: 程序的内存空间分为堆、栈、全局区(静态区)、字符串常量区、代码区,而我的程序又是多线程的程序,极有可...原创 2019-04-11 20:12:27 · 819 阅读 · 0 评论