博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
发现两个有用的C函数_alloca()、_msize()
阅读量:6354 次
发布时间:2019-06-22

本文共 574 字,大约阅读时间需要 1 分钟。

(1)_alloca()

alloca也是用来分配存储空间的,它和malloc的区别是它是在当前函数的栈上分配存储空间,而不是在堆中。
其优点是:当函数返回时,自动释放它所使用的栈。
 
(2)_msize()
取得malloc()分配的空间大小
★注意:该函数为Windows独有,UNIX没有对应的函数★
 
测试用例代码:
………………………………………………………………………………
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
 
int main(int argc, char *argv[])
{
 char * p = (char*)malloc(100*sizeof(int));
 char *p1 = (char*)alloca(1000);
 
 printf("sizeof(p) = %d\n", _msize(p));
 
 strcpy(p1, "This is a test data!");
 printf("p1 = [%s]\n", p1);
 
 free(p);
 
 return 0;
}

 

 

转载于:https://www.cnblogs.com/java201408/archive/2013/03/15/3900969.html

你可能感兴趣的文章
UVA 1394 And Then There Was One 约瑟夫环数学方法
查看>>
cookie和session
查看>>
MySQL命令行--导入导出数据库
查看>>
OkHttp使用进阶(译自OkHttp官方教程)
查看>>
【BZOJ3144】【HNOI2013】切糕
查看>>
C语言指针入门
查看>>
cmake检测g++编译器是否支持c++11
查看>>
有关Oracle数据库中同义词
查看>>
Ubuntu10.4下配置telnet服务
查看>>
IM 之 融云
查看>>
前言《iOS网络高级编程:iPhone和iPad的企业应用开发》(书籍学习)
查看>>
shell学习笔记(2)
查看>>
node_modules
查看>>
第一个爬虫测试
查看>>
Spring.net 间接调用被AOP拦截的方法失效(无法进入aop的拦截方法)
查看>>
Mysql 不同版本 说明
查看>>
常见BUG
查看>>
条件表达式
查看>>
SpringMvc多视图配置(jsp、velocity、freemarker) 在src目录views.properties配置
查看>>
项目使用EntityFramework需要做的几项工作
查看>>