99问答网
所有问题
C语言 链表中malloc 用处: 比如head=(struct student *)malloc(sizeof(struct student)); 望大虾指教··
如题所述
举报该问题
推荐答案 2011-03-10
就是分配空间呀。
下面我将按步骤给你讲解:
sizeof(struct student) //获得结点所需空间的大小
malloc(sizeof(struct student)) ; //在堆中分配空间
(stuct student *)malloc(sizeof(struct student)); //将malloc返回值转换为指向链表结点的指针
//因为malloc的返回值为void *
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/vzBvWt77j.html
其他回答
第1个回答 推荐于2018-04-13
申请一块大小为 sizeof(struct student) 的内存并返回这块内存的首地址 (struct student *)是强制类型转换 将其首地址转换为结构体类型 head=(struct student *)malloc(sizeof(struct student)); 是让链表的头指针指向这块内存的首地址
本回答被提问者和网友采纳
相似回答
...
链表
p
=(struct
stu
*)malloc(sizeof(struct
stu))为什么新开辟
的
空 ...
答:
malloc 分配一段空间,其参数是空间的大小(单位是字节
)
比如malloc(
5),是分配一段五个字节大小的空间。其返回值的类型是void *。因此赋值的时候要经过强制类型转换
sizeof()
是计算参数所占的空间大小。如果参数是一个类型,那就是这种类型的数据的大小,如果是一个变量,那就是这个变量的大小。那...
c语言
malloc函数
在
链表中
的
用处
答:
char * p = (char
*)malloc(sizeof(
128));memset(p, 0, 128);memcpy(p, src);做个比较,这个时候看 char p 和 char *p 有什么不同?char p; //是程序自动在栈上分配了空间 char *p = malloc()// 是在堆上分配了空间;如果是结构体,假设
:struct
A {};A a; //那这个时...
关于
C语言
动态
链表的
问题,请高手详细解释下面程序的每一句,以及
作用
...
答:
define LEN
sizeof(struct
Student)//这一句是把“sizeof(struct Student)”定义为“LEN”//预编译时程序中所有的“LEN”将会被替换成“sizeof(struct Student)”//sizeof(struct
Student)作用
是计算
Student结构体
占用的内存空间 struct Student//建立一个结构体,命名为"Student"{ int num;//结构体...
解释一下这段c代码
答:
struct
student
*head;全局量,插入点学生 if(NULL==head) 如果未分配单元 则分配单元,并指向下一个是刚输入进来的p1。
head=(struct
student
*)malloc(sizeof(struct
student));head->next=p1;否则 [这里不清楚,按理,递推原学生树,再插入刚输入进来的,但程序是:]for(p2=head;p2->next!
c语言中malloc
是什么?怎么用?
答:
malloc() 函数用来动态地分配内存空间,其原型为:void
*
malloc (size
_t size);说明:【参数说明】size 为需要分配的内存空间的大小,以字节(Byte)计。【函数说明】
malloc()
在堆区分配一块指定大小的内存空间,用来存放数据。这块内存空间在函数执行完成后不会被初始化,它们的值是未知的。如果希望...
c语言
malloc函数
是什么意义
答:
开辟内存。比如 int *p;p=(int
*)malloc (
100*
sizeof(
int));它开辟100个int单元,即400字节。然后p指向第一个元素。之后也可以用p[0],p[1]
在
c语言
程序中 ,用
链表
形式输入和输出
学生
信息,求年龄平均值_百度知 ...
答:
struct
student
*
head=
NULL,*p=NULL,*q=NULL;for(i=0;i<n;i++){ //从键盘上输入学生信息 q=p;//保存前一个元素的地址 p
=(struct
student
*)malloc(sizeof(struct
student));printf("第%d个学生的信息(包括学号、名字、年龄):\n",i+1);scanf("%d %s %d",&p->num,p->name,&p-...
C语言链表
问题
答:
"malloc.h"structnum{inta;structnum*next;};voidmain(){inti,n=0; structnum*head,*p1,*p2;
head=(struct
num
*)malloc(sizeof(struct
num)); p1=head; /*p2=head;*/ for(i=0;i<5;i++){p2=(structnum*)malloc(sizeof(structnum));scanf("%d",&n);p2->a=n;p1->next=p2;p1=p2;}p1-...
用
链表
完成
学生
成绩管理
答:
char name[10];int num;float math,eng,chinese;struct
student
*next;};struct student *creat()//创建
学生链表
{ struct student *head,*p1,*p2;
head=
p1=p2
=(struct
student
*)malloc(sizeof(struct
student));scanf("%s%d%f%f%f",p1->name,&p1->num,&p1->math,&p1->eng,&p1->...
大家正在搜
链表head指针指向什么
其中head指向链表首结点
在一个单链表head中
设一条单链表的头指针为head
malloc debug
malloc_trim
链表c语言
链表的head是什么
链表的head到底是什么
相关问题
head=p1=(struct stu *)malloc(s...
C语言怎么理解链表 p=(struct stu *)mall...
c语言这里的p1=p2=(struct student *)...
c语言 pEnd=pNew=(struct Student*...
pEnd=pNew=(struct Student*)mal...
初学者问一个C语言的问题,关于链表。
C语言链表求元素个数
c语言定义一个结构体指针变量跟定义该指针变量之后再调用mal...