malloc分配内存,free释放内存,结构体中的指针和结构体指针要通过malloc分配,使用完后,通过free释放并置于NULL,
#include<iostream>
using namespace std;
typedef struct _Birthday
{
int day;
int month;
int year;
} Birthday;
typedef struct _Student
{
int schoolNumber;
char *name;
Birthday year;
} Student;
typedef enum _Color
{
red,
blue,
white,
yellow
} Color;
//结构体数组
struct student
{
int mum;
char name[20];
char sex;
int age;
float score;
char addr[30];
}stu[3] = {{11,"HHH", 'M', 18, 87.5, "Road"},{10101,"Li Lin", 'M', 18, 87.5, "Road"},{10101,"Lin", 'M', 18, 87.5, "103 Beijing Road"}};
int main()
{
Student std;
//分配内存空间
std.name=(char *)malloc(20*sizeof(char));
strcpy(std.name,"test");
std.year.day=10;
std.year.month=12;
std.year.year=2012;
cout<<std.name<<endl;
cout<<std.year.year<<"年"<<std.year.month<<"月"<<std.year.day<<endl;
Student *stdOne;
//分配内存空间
stdOne=(Student *)malloc(sizeof(Student));
stdOne->name=(char *)malloc(20*sizeof(char));
strcpy(stdOne->name,"testOne");
//释放分配的内存
free(std.name);
free(stdOne->name);
free(stdOne);
//防止野指针的产生
std.name=NULL;
stdOne->name=NULL;
stdOne=NULL;
//枚举类型
Color color=red;
cout<<"Color:"<<color<<endl;
return 0;
}
分享到:
相关推荐
用C自己实现malloc和free,需要的可以看下,没实际用处,不过可以了解C的原型原理
C语言的malloc和free函数.pdf
C语言的malloc和free函数
主要介绍了C语言基础之malloc和free函数详解的相关资料,需要的朋友可以参考下
本人叙述了C语言中的malloc和free的用法,以及一些平时我们觉得很模糊的知识点。
C语言的malloc和free函数.zip
介绍malloc与free函数的用法,并利用C语言自己实现malloc与free函数,完成内存管理。
由于malloc/free 是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的 任务强加于malloc /free. 3 ,因此C++ 语言需要一个能完成动态内存分配和初始化工作的运算符new ,以一个能完成...
详细介绍了c语言中malloc()和free()的基本用法、概念和机制
C语言中 malloc、calloc、realloc的区别 (1)C语言跟内存分配方式 从静态存储区域分配. 内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量、static变量. 在栈上创建 在执行...
用于内存管理的malloc与free这对函数,对于使用C语言的程序员应该很熟悉。前段时间听说有的IT公司以“实现一个简单功能的malloc”作为面试题,正好最近在复习K&R,上面有所介绍,因此花了些时间仔细研究了一下。毕竟...
C语言中内存的管理主要是依据malloc和free实现的,其中malloc主要是实现内存的分配,而free则是实现内存的释放。虽然这是我们已经很熟悉的,但是还是存在一些问题。特别是当结构体中存在指针的情况下,各种问题也就...
本质是对一系列的 malloc,free 请求队列的相应,同时满足一些特定的限制条件,比如说:不可以控制用户请求空间的大小;用户的请求必须立即响应,不可以使用 buffer 的形式,这一点是和 shedlab 本质的区别;只可以...
c语言库文件 内存管理源代码 malloc free malloc_consolidate realloc
谈到malloc函数相信学过c语言的人都很熟悉,但是malloc底层到底做了什么又有多少人知道。 1、关于malloc相关的几个函数 关于malloc我们进入Linux ...同时,当内存不再使用的时候,应使用free()函数将内存块释放掉
如果要给二维数组(m*n)分配空间,代码可以写成下面: 代码如下:char **a, i; // 先分配m个指针单元,注意是指针单元 // 所以每个单元的大小是sizeof(char *) a = (char **) malloc(m * sizeof... free((void *)a[i
一、原型:extern void *malloc(unsigned int num_bytes); 头文件:#include <malloc...当内存不再使用时,应使用free()函数将内存块释放。 举例: #include #include<malloc> int main() { char *p; p=(char *)mal
free函数是我们再写C语言程序时常用的函数,但是使用时需要注意,一不小心很肯能会引起吐核。 注意:free函数与malloc()函数配对使用,释放malloc函数申请的动态内存。对于free(p)这句语句,如果p 是NULL 指针,...