求高手。讲解 malloc 函数的用法 在数据结构中多次出现,意思申请内存,可是不懂如何用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求高手。讲解 malloc 函数的用法 在数据结构中多次出现,意思申请内存,可是不懂如何用相关的知识,希望对你有一定的参考价值。
malloc()是用来开辟一个内存空间的,但是要开辟多大的呢?为了解决这个问题,所以要给这个函数加个参数,就是要开辟空间的大小(尽量sizeof函数实现)。接着,问题又来了,我分配好了,要怎么返回给main函数呢,所以要有返回值,因为开辟的是空间,所以返回的是一个地址,当然要用指针接收了。指针的类型就是你要为那种类型的变量的指针
形式如下:
int i,*p;
p=(int *)malloc(sizeof(int));追问
能讲一下这种格式的意思吗,例如第一个括号内的内容有什么用,是什么意思
追答这个形式的意思是:分配一个大小为sizeof(int)的动态空间,并且返回一个地址由int型的指针p接收。(int*)是强制转换类型
参考技术A malloc是分配空间的函数,返回值为空类型,要想变成想要的类型,必须使用(类型)进行强制类型转换,知道这个就够用啦!!! 参考技术B malloc用于动态分配内存。需要动态分配时才需要malloc。如果只是静态分配内存,编译器自身就可以完成,不需要自己通过malloc完成。 参考技术C 举例:(1)申请内存,空间为5个int类型大小
int *p,n;
n=5;
p=(int *)malloc(n*(sizeof(int)));
(2)申请内存,空间为5个char类型大小
char *p;
int n;
n=5;
p=(int *)malloc(n*(sizeof(char)));
(3)申请内存,空间为5个自定义的结构变量类型的大小
typedef stu
char name;
typedef stu *next;
n=5;
p=(typedef stu *)malloc(n*(sizeof(typedef stu)));
你根据上面的几个例子对比着自己看一下吧,如果那里不清楚,再问我吧
以上是关于求高手。讲解 malloc 函数的用法 在数据结构中多次出现,意思申请内存,可是不懂如何用的主要内容,如果未能解决你的问题,请参考以下文章