c014---函数指针,堆栈

函数指针:
1.定义只想函数的指针变量的一般形式为数据类型 (*指针变量名)(函数参数列表)
eg: int (*p)( int ,int)
2.对于函数指针来说p+n,p++,p–等操作没有意义

栈空间是系统分配,一般的数据类型使用,可以自己释放内存,不需要程序员管理
堆空间一般默认分配的空间是1mb,是由程序员自己申请,并需要自己手动管理的空间
在vs中可以手动设置大小,但是不建议这么做

c语言中又三种分配内存空间的方法
malloc,colloc,realloc
首先这三个函数都在stdlib.h的函数库内:
三个函数的声明分别是:
void * malloc (unsigned size);
void *calloc (size_t numElements, size_t sizeofElement);
void *realloc(void *ptr,unsigned newsize);

他们的返回值都是请求系统分配的地址,如果请求失败 就返回NULL

malloc用于申请一段新的地址,参数size为所需内存空间的长度,如:
char *p;
p =(char *)malloc(1024);
malloc 分配的内存是位于堆中飞,并且没有出事话内存的内容,因此基本上malloc以后,就会调用函数memset来进行初始化这部分内存空间
calloc 将这部分内存初始化为0

申请的内存需要用free来释放

realloc 给一个已经分配了地址的指针重新分配空间,参数ptr为原有的空间地址,newsize 是重新申请的地址长度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值