打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
calloc与malloc的区别

 calloc与malloc的区别收藏

1.函数名: calloc

功 能: 在内存的动态存储区中分配n个长度为size的连续空间,函数返回一个指向分配起始地址的指针;如果分配不成功,返回NULL。

用 法: void *calloc(unsigned n,unsigned size);

头文件:stdlib.h或malloc.h

2.函数名:malloc

原型:extern void *malloc(unsigned int num_bytes);

头文件:在TC2.0中可以用malloc.h或 alloc.h (注意:alloc.h 与 malloc.h 的内容是完全一致的),而在Visual C++6.0中可以用malloc.h或者stdlib.h。

功能:分配长度为num_bytes字节的内存块

返回值:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。

说明:关于该函数的原型,在旧的版本中malloc返回的是char型指针,新的ANSIC标准规定,该函数返回为void型指针,因此必要时要进行类型转换。

 

  1. #include <malloc.h>  
  2. #include <string.h>  
  3. int main(int argc, char* argv[])  
  4. {  
  5.  char *str=(char*)calloc(10,sizeof(char));  
  6.  printf("str:%s\n",str);  
  7.  strcpy(str,"hello");  
  8.  printf("str:%s\n",str);  
  9.  free(str);  
  10.  char *str1=(char*)malloc(10*sizeof(char));  
  11.  printf("st1r:%s\n",str1);  
  12.  strcpy(str1,"hello");  
  13.  printf("str1:%s\n",str1);  
  14.  free(str1);  
  15.  return 0;  
  16. }  
 

 

vc6的输出:

str:
str:hello
st1r:屯屯屯屯屯葺摺汲(?
str1:hello
Press any key to continue

发表于 @2010年08月21日 22:19:00 | 评论( 0) | 编辑| 举报| 收藏

旧一篇:[算法库]MyDeque | 新一篇:[编程之美]寻找发贴水王Tango

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C 内存管理详解
C++内存管理
C 知识点
指针参数是如何传递内存的
c++知识 - 洋男的日志 - 网易博客
水滴石穿C语言之内存使用
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服