使用结构体指针不明白哪里出错
c语言吧
全部回复
仅看楼主
level 1
流氓气质💢
楼主
写了一个结构体指针,malloc内存。使用函数调用的时候,可以方便写入。但是在memset清零的时候,程序报错了。不太明白是哪写的问题,求大神瞅一眼谢谢:
2022年11月25日 06点11分
1
level 1
流氓气质💢
楼主
调用的情况:
previousLEN_create(p_ring_buff1);
previousLEN_clear(p_ring_buff1);
头文件都不缺的
2022年11月25日 06点11分
2
吧务
level 14
▫XeO2▫
第33行的函数除了造成内存泄漏之外没有任何作用。修改形参不会对外部产生可观测效应
2022年11月25日 06点11分
3
流氓气质💢
那请问怎么修改呢
?没想通怎么改
2022年11月25日 07点11分
▫XeO2▫
回复 流氓气质💢 :create函数的形参需要使用二级指针:struct ring_buff **p_ring_buff,分配内存的时候使用一级指针:*p_ring_buff=(struct ring_buff*)malloc(...)
2022年11月25日 07点11分
level 11
SuperLy114
建议第33行函数,无需参数,
然后在函数里面,直接返回new出来的指针,这样就可以不用二级指针了。
2022年11月25日 07点11分
4
吧务
level 12
YujiSY
p是形参,是局部变量,你对p赋值无法改变外部的指针指向的内容,只能对p指向的地址的内容赋值,想要改变要么用二级指针,要么返回这个malloc出来的地址
2022年11月25日 16点11分
5
1