广告也精彩
目录

前言

记录C语言中内存分配的使用。

正文

C语言中不允许动态分配数组,这样就存在内容长度的变化导致存储越界问题。

malloc函数的使用

调用形式

(类型说明符 * ) malloc(size);

分配长度为size的连续区域,函数返回的是搞区域的首地址。

举个例子:

普通类型

char *p;
p = (char *) malloc( 100 ); //分配100个字节的内存空间

结构体类型

struct stu{
 	int num;
 	char *name;
 	char sex;
 	float score;
} *p;

p=(struct stu *)malloc(sizeof(struct stu));

calloc的使用

calloc也可以分配内存空间

调用形式

(数据说明符 * )calloc(n, size);

分配n块长度为size字节的连续区域。

p=(struct stu *)calloc(2, sizeof(struct stu));

free的使用

free释放内存空间。

调用形式:

free(void *p);

小结

  1. malloc或calloc函数需要跟free配套使用,要不然容易导致内存泄漏
  2. 在结构体时,获取结构体占用字节大小时时sizeof(struct stu)。

参考文章

  1. 《C语言教程讲义(谭浩强).pdf》

 历史上的今天

版权声明 1、 本站名称: 91易搜
2、 本站网址: 91es.com3xcn.com
3、 本站文章: 部分来源于网络,仅供站长学习和参考,若侵权请留言
广告也精彩

相关文章

广告也精彩

暂无评论

评论审核已启用。您的评论可能需要一段时间后才能被显示。

暂无评论...

网站升级中

公告

近期网站升级中,可能存在一些bug。欢迎反馈 https://www.91es.com/we.html

本站域名

本站域名 : 91es.com3xcn.com。本站邮箱 : 站长邮箱 i@oorr.cn,通知邮箱we@oorr.cn ,如有更新,请看公告 。