77问答网
所有问题
C语言怎么理解链表 p=(struct stu *)malloc(sizeof(struct stu))为什么新开辟的空间也有个元素 i
C语言怎么理解链表 p=(struct stu *)malloc(sizeof(struct stu))为什么新开辟的空间也有个元素 i ?
举报该问题
推荐答案 推荐于2018-04-14
malloc 分配一段空间,其参数是空间的大小(单位是字节) 比如malloc(5),是分配一段五个字节大小的空间。其
返回值
的类型是void *。因此赋值的时候要经过强制类型转换
sizeof()
() 是计算参数所占的空间大小。如果参数是一个类型,那就是这种类型的数据的大小,如果是一个变量,那就是这个变量的大小。那句语句的意思是 分配一个 大小为
结构体
stu的大小的空间,并把空间地址赋予p
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/pvpvYv88qYq8vvp8NY.html
其他回答
第1个回答 2019-07-13
这个新开辟的
空间
是分配了一个
stu
这个结构体这么大的空间,然后把这个空间地址转换成
stu的这个指针类型,赋值给P
开辟的空间是用于存放stu这种结构的数据,stu中有i所以新开辟的也有i
只是i为默认值而已
第2个回答 2019-06-01
开辟一个新的内存单元,长度为struct
stu所占的字节长度,新单元指向struct
stu
*类型
第3个回答 2020-02-15
开辟一个struct stu 结构体大小的空间,并把地址传给p
相似回答
struct student
*
p =
malloc(sizeof(struct
student
))
; struct student...
答:
struct student
*
p =
malloc(sizeof(struct
student));后面的malloc()函数分配了一块可以保存一个student结构体变量的空间,并把这块空间的地址返回给了p,这样,p指针就指向了一块空间,可以通过p变量对这块空间进行读写操作。struct student* p ;这一行只是定义一个指针变量p,它还没有指向任何可...
c语言
建立和输出单
链表
程序中,
为什么
第一个数据没输出来?请各位高手...
答:
p=(struct
student
*)malloc(sizeof(struct
student)); //此处重新开辟了新空间,len==0时,会导致之前的head指向的是
新开辟的
空间,而不是之前那个存放数据的空间。if(len==0){ head=r=p;len++;} else { r->next=p;r=p;len++;} scanf("%d",&p->date);} free(p);p->next=N...
...student
*)malloc(sizeof(struct
student
))
; 望大虾指教··_百度...
答:
就是分配空间呀。下面我将按步骤给你讲解:sizeof(struct student) //获得结点所需空间的大小 malloc(sizeof(struct student)) ; //在堆中分配空间
(stu
ct student
*)malloc(sizeof(struct
student)); //将malloc返回值转换为指向链表结点的指针 //因为malloc的返回值为void ...
c语言
:为结构体指针的指针
开辟
空间
答:
struct
stu *p;// p=malloc(10*sizeof(p)); //为p开辟空间,成功
p= (stu*)malloc(
10*
sizeof(stu))
;//分配后的空间需要强转为stu* 才可以赋值给P类型一样。if(p==NULL){ //检查申请是否成功 return false;} //p->a=malloc(10*sizeof(int)); //不知道成功没---对于...
c语言
动态
链表的
问题,比如说我定义了一个
struct
stu的
结构体,然后在ma...
答:
void
*
malloc( size
_t size ) ; //返回的指针类型可以是任意类型 因此,加上强制转换,以达到与p类型一致进行赋值 。问题2:分配区域时后面sizeof()的长度是指结构体中所有数组的长度吗。
sizeof(struct
stu)
这个命令是得到结构体struct
stu的
占内存空间大小,以字节为单位,即存储一个结构体数据...
pEnd
=p
New
=(struct
Student
*)malloc(sizeof(struct
Student
))
;这句看...
答:
您好。
C语言中
,连续赋值是从右到左进行的,于是您看不懂的那行可以理解为如下两行代码:pNew
= (struct
Student
*)malloc(sizeof(struct
Student));pEnd = pNew;从等号最右分析:(struct Student *)malloc(sizeof(struct Student))malloc函数的作用是申请内存空间,参数是想申请的空间的大小,它将...
head=p1
=(struct
stu
*)malloc(sizeof(struct
stu))
; 是
什么
意思,什么...
答:
malloc
是
C语言中的
内存申请函数,上面这句完成几件事:1.首先申请了一个大小为
sizeof(struct
stu)的
内存块 2.内存地址强制类型转换为结构体指针(struct stu
*)
3.用指针变量head和p1来保存这个内存地址
大家正在搜
struct和structure
c语言中的structnode
C语言struct中的字符串
struct student
typedefstruct
c语言struct结构体
c语言struct用法
C语言strcat
C语言strcmp
相关问题
c语言中?:和!是什么意思,怎么运用在编程中
c语言中?:和!是什么意思?怎么运用在编程中?
c语言编程中,sinx怎么表示?
c语言编程的平台是什么?
C语言编程如何实现“计算圆的面积”?
C语言是面向程序设计语言的是什么?
C语言编程中a=%d是什么意思啊
c语言用什么编程软件?