#include<stdlib.h> 

  void *calloc(size_t n, size_t size);

  free();

目前的理解:  n是多少个这样的size,这样的使用类似有fread,fwrite. 这个函数把内存里面的数据清空了, free确实把本来的buf清空了,buf之后的数据是随机数据,有个问题就是free之后指针没有设置为NULL

#include <stdio.h>
#include <stdlib.h> int main(void)
{
// calloc 1920
char* buf = (char*)calloc(1920,sizeof(char));
if (buf == NULL)
{
printf("calloc 分配内存失败\n");
return -1;
}
printf("buf is %d\n", buf[0]);
printf("buf is %p\n", buf);
buf[0] = 1;
printf("buf is %d\n", buf[0]);
free(buf);
printf("buf is %p\n",buf);
printf("buf is %d\n",buf[0]);
buf = NULL;
printf("buf is %p\n",buf);
while (1)
{
//printf("buf is %p\n", buf);
}
return 0;
}

  

calloc函数的使用和对内存free的认识的更多相关文章

  1. C语言calloc()函数:分配内存空间并初始化——stm32中的应用

    经常在代码中看到使用malloc来分配,然后memset清零,其实calloc更加方便,一句顶两句~ 头文件:#include <stdlib.h> calloc() 函数用来动态地分配内 ...

  2. realloc,malloc,calloc函数的区别

    from:http://www.cnblogs.com/BlueTzar/articles/1136549.html realloc,malloc,calloc的区别 三个函数的申明分别是: void ...

  3. malloc()函数,calloc()函数,realloc()函数,free()函数

    malloc()函数 头文件:#include <stdlib.h> malloc() 函数用来动态地分配内存空间,其原型为:void* malloc (size_t size); [参数 ...

  4. malloc函数、calloc函数和free函数

    malloc函数和free函数 malloc函数原型:void *malloc(long NumBytes) malloc原型说明:mallco函数在堆分配了NumBytes个字节的内存空间,用来存放 ...

  5. 不能返回函数内部new分配的内存的引用

    以前在开发电子秤接口动态库时,曾尝试在用于获取重量的函数外面定义一个字符串指针,然后作为参数传入函数内部,然后在函数内部new,用来输出函数执行过程中发生的错误.但是总是出错,没有找到原因,后来无意中 ...

  6. 【漏洞分析】两个例子-数组溢出修改返回函数与strcpy覆盖周边内存地址

    修改返回函数 return 0 下面的程序的运行流程为main()函数调用了Magic()函数,通常执行完Magic()函数后会调用return 0 的地址, 但是在执行Magic()函数中时,数组下 ...

  7. 关于 calloc 函数使用 与fun 函数

    s=(float *) calloc (1,sizeof(float)); #include "stdio.h"#include "stdlib.h"void ...

  8. C++类成员函数与成员变量的内存布局

    一.成员函数 成员函数可以被看作是类作用域的全局函数,不在对象分配的空间里,只有虚函数才会在类对象里有一个指针,存放虚函数的地址等相关信息.

  9. c语言基础学习08_内存管理

    =============================================================================涉及到的知识点有:一.内存管理.作用域.自动变 ...

随机推荐

  1. 1级搭建类103-Oracle 12c 单实例 FS(12.2.0.1+RHEL 7)公开

    项目文档引子系列是根据项目原型,制作的测试实验文档,目的是为了提升项目过程中的实际动手能力,打造精品文档AskScuti. 项目文档引子系列目前不对外发布,仅作为博客记录.如学员在实际工作过程中需提前 ...

  2. Codeforces 1304E. 1-Trees and Queries 代码(LCA 树上两点距离判奇偶)

    https://codeforces.com/contest/1304/problem/E #include<bits/stdc++.h> using namespace std; typ ...

  3. 9Front fqa 目录

    9Front System 9Front 常见问答(fqa) 注意! 9front dash1 手册是由 9front 用户编写的. 这些用户有能做的,有不能写的:那些不能写的写了这本电子杂志.-- ...

  4. BZOJ 2306: [Ctsc2011]幸福路径

    Description 有向图 G有n个顶点 1, 2, -, n,点i 的权值为 w(i).现在有一只蚂蚁,从 给定的起点 v0出发,沿着图 G 的边爬行.开始时,它的体力为 1.每爬过一条 边,它 ...

  5. VsCode开发Java SpringBoot遇到的问题

    报错截图 报错一:Build failed, Do you want to continue? 编译失败,你想继续吗? 报错二:ConfigError:The Project "Demo&q ...

  6. ipa文件信息检查工具

    项目地址:https://github.com/ryjwinner/softwares/raw/master/iOS-checkIPA.jar 项目简介: 针对近期大量iOS app需要签名,但多家签 ...

  7. vue实现网页简单计算器实例代码

    效果: 代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  8. H3C ARP配置

    一.ARP简介 ARP(Address Resolution Protocol,地址解析协议)是将IP地址解析为以太网MAC地址(或称物理地址)的协议. 在网络中,当主机或其它网络设备有数据要发送给另 ...

  9. TODO:rest和restful接口是什么?

    todo: 参考: http://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html https://www.jianshu ...

  10. 多个iframe,删除详情页时刷新同级iframe的table list

    说明:在使用iframe开发时,经常遇到多个iframe之间的操作. 下面就是一个需求:在一个iframe中关闭时,刷新指定的iframe: 添加需要刷新的标识reload=true //添加npi2 ...