/*
分配内存空间函数: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指向的内存空间。
}
处理动态链表所需函数二:calloc与free
最新推荐文章于 2023-10-29 18:16:53 发布