calloc函数的使用和对内存free的认识
2024-09-06 21:23:20
#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;
}
最新文章
- Java学习笔记(三)
- SPSS课程学习思路及流程
- 使用KRPano资源分析工具强力加密KRPano项目(XML防破解,切片图保护,JS反调试)
- [转]SQL SERVER – Importance of Database Schemas in SQL Server
- python 安装MySQLdb mysql_config not fount
- android 定义 程序 Scheme 接收特定URI开启Activity
- JavaScript的Date对象
- sed命令的基本使用
- Jboss消息 异常
- 在代码中修改TextView的DrawableRight图片
- 详解 $_SERVER 函数中QUERY_STRING和REQUEST_URI区别
- 利用ExtJS导出Excel
- 【顽固BUG】Visual Studio 2013 + TestDriven.NET-3.8.2860_Personal_Beta 调用的目标发生了异常。
- R与数据分析旧笔记(⑦)回归诊断
- Roslyn and NRefactory
- PHP7中我们应该学习会用的新特性
- 【Mysql】MySQL与Oracle的大小写问题
- 如何在vue单页应用中使用百度地图
- [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(三) -- 安装confluence 6.6.1
- 基于服务器的AAA配置实验(Cisco PT)