处理动态链表所需函数二:calloc与free

/*
分配内存空间函数:calloc();
(类型说明符 *)calloc(n, size);
功能:在内存动态存储区中分配n块长度为size字节的连续区域。
函数的返回值为该区域的首地址。


calloc函数与malloc函数的区别:
仅在于calloc函数一次可以分配n块区域。

ps = (struct stu *)calloc(2, sizeof(struct stu));
按stu的长度分配2块连续区域,强制转换为stu类型,并把其首地址赋予指针变量ps.

*/

/*
释放内存空间函数:free
free(p);
释放p所指向的一块内存空间,p是一个任意类型的指针变量,它指向被释放区域的首地址,
被释放区域应该是由malloc或calloc函数所分配的区域。
*/


//实现内存空间的动态分配
#include<stdio.h>
#include<stdlib.h>

void main()
{
	struct stu
	{
		int num;
		char *name;//字符型数组
		char sex;
		double score;
	}*ps;

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

	ps->num = 1001;
	ps->name = "zhang";
	ps->sex = 'M';
	ps->score = 95.4;

	printf("No. = %d\n Name = %s\n Sex = %c\n Score = %.2lf\n",ps->num, ps->name, ps->sex, ps->score);

	free(ps);//释放ps指向的内存空间。

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值