摘要:
栈是由编译器自动分配释放,存放函数的参数值、局部变量的值等。操作方式类似于数据结构中的栈。 堆一般由程序员分配释放,若不释放,程序结束时可能由OS回收。注意这里说是可能,并非一定。所以我想再强调一次,记得要释放! 一、定义指针的时候一定要初始化。 变量定义的时候给变量初始化,这是保证不出错的一个很好的习惯。尤其是在指针的使用上,如果我们没有给指针初始化,就会出现野指针,该指针的指向并不是我们所希望的,一旦错误的释放了这个指针,就会发生内存的访问。那么如何初始化指针变量呢,一般有以下几种方法:1、初始化空指针int* pInteger=NULL;2、用已有的变量初始化int length=5;i 阅读全文
摘要:
一、认识存储单元指针是C语言最显著的特色。要理解指针的概念,需要先理解计算机读写内存的的方式以及变量的概念。计算机内存是以字节为单位划分内存单元的,每个内存单元占用一个字节,每个内存单元都有自己的地址编号,操作系统或软件根据这个地址来识别内存单元,在地址所标识的内存单元中存取数据。内存单元的地址是固定的,内存单元中的数据是可以修改的。C语言中,变量名实质上是内存单元的地址符号,用户使用变量本质上是访问该变量所对应的内存单元。二、C指针的概念1、在C中,将内存单元的地址(编号)称为指针,可以通过一个变量来存放指针,这种变量称为指针变量。指针变量中存储的是内存单元的地址。例如 int a = 10 阅读全文