变量,文件,函数,指针这些是什么?

来源:百度知道 编辑:UC知道 时间:2024/05/15 05:29:17
请解释?

变量就是内存里的一个储存空间,其意义和数学里的函数的变量有些类似.

文件是指硬盘上的一块数据,就是我们一般说的文件.

函数:
函数概念比较复杂是指编程时的一种方法,把程序写成函数的形式可以更直观,更结构话,而且便于修改.举个例子比如我一个程序中需要反复用到一个排序的功能,如果每次都写代码不但麻烦而且不直观,万一写错一个就很麻烦改,而写成一个函数的形式就很方便,只需要不断调用这个函数来实现排序即可,也更直观.

指针:
刚才说了变量是内存的一块小地方而已,但是我们要操作这个内存就需要知道这个地方在哪,也就是知道地址(这里指内存地址)而储存这个地址的变量就是一个指针.
指针指向了一块内存空间后我们就可以操作指针实现对内存的读写.举个简单的例子,假设你现在需要对一个数据进行操作,那步骤应该这样

1.先在内存中申请一块大小足够的内存.
2.通过指向这块内存的指针把数据写入内存.
3.必要的时候再通过这个指针把数据从内存中读出来.
4.如果不用了需要把内存释放掉,并把指针清零(这步很重要)

下面简单说下第4步这个步很重要,经常看到有些程序会出现 XXXXX 不能为 Read 或 Write 或者非法操作等,大部分都是因为这步没有处理好,下面简单说下方法,我以C++语言为例.

char *p = new char[1024]; //这步很明显申请内存;
....
delete[] p; //首先删除这块内存,这个时候指针 p 并没有为 0x000000 指针 p 现在还是指向了那个内存地址,虽然这个内存并没有申请,所以他不属于你程序.而这个地址还是客观存在的,所以这个时候的p还是指向了那个地址.
这样就非常危险了,因为如果我们对p进行了误操作,运气好点你不小心把其他地方的内存修改了.小则什么事没有,中则非法操作,程序崩溃,大则系统崩溃.
所以这种野指针很危险.所以我们每次
delete[] p; //以后都要加个
p = NULL; //将指针设置为 NULL 即空指针.