www.cnblogs.com/ruiyqinrui

开源、架构、Linux C/C++/python AI BI 运维开发自动化运维。 春风桃李花 秋雨梧桐叶。“力尽不知热 但惜夏日长”。夏不惜,秋不获。@ruiY--秦瑞

python爬虫,C编程,嵌入式开发.hadoop大数据,桉树,onenebula云计算架构.linux运维及驱动开发.

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1,指针作为函数参数,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

 

 

posted on 2014-05-15 13:32  秦瑞It行程实录  阅读(1158)  评论(0)    收藏  举报
www.cnblogs.com/ruiyqinrui