首页 > 代码库 > 指针作为函数参数,修改实参值

指针作为函数参数,修改实参值

1,指针作为函数参数,

指针可以指向内存中任意一个数据,通过间接引用能够在函数内修改函数外甚至系统中的数据;

为了避免指针作为函数参数导致数据被意外修改,我们可以使用const来保护指针所指向的数据;

2,指针作为函数返回值,

同别的数据类型int,float一样,指针也能够作为函数的一种返回值类型,把返回指针的函数称为指针函数;

返回的指针所指向的数据不能够是函数内部声明的变量;

更灵活的存储,使用数组的时候面临种尴尬:数组的存储空间必须在程序运行前申请,即数组的大小在编译前必须是已知的常量表达式;

空间申请太大造成空间浪费,太小又会造成数据溢出;

所有此处需谨慎,切实的根据实际情况申请内存空间

C++中,允许我们在程序运行时根据自己的需要申请一定的内存空间,称为堆内存空间(heap)

用new操作符来申请堆内存空间;

数据溢出(data foolding)-->指程序运行时将数据存放到较小的空间,

内存泄露(Memory leak)-->只申请内存空间不释放内存空间的情况称为内存泄露,此处申请的空间一般指的是堆内存空间;

释放堆内存空间,delete操作符

delete [] 指向堆内存首元素的指针;

实践测试堆内存空间的申请和回收;

堆内存数组和普通数组在使用上并无区别;