C语言结构体变量和结构体指针变量的疑问

常如意 2014-01-08 03:43:06
结构体变量可以直接定义,方便使用;
结构体指针变量却需要malloc,然后用完又需要free,程序庞大的时候一不小心就忘了free掉,造成内存泄露
但是为什么结构体指针变量使用更广泛一些?两者各有什么长处和短处呢?恳请高手指点迷津。
...全文
220 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
SKATE11 2014-01-08
  • 打赏
  • 举报
回复
习惯性问题吧 一般纯成员变量的话 大家都喜欢用struct
Mr. Code 2014-01-08
  • 打赏
  • 举报
回复
不管是不是结构体,指针都是C语言中的特点之一,如果不用指针,就发挥不了C语言相比于其它高级语言的优点,指针,自由而强大,同时也是一把双刃剑,用的不好,程序随时崩溃。
独孤九剑贰 2014-01-08
  • 打赏
  • 举报
回复
用指针省空间,不用传递给函数一个数据的副本,这个数据可能是庞大的。 那内存泄露对吧。。。嗯,你懂的。。。别的高级语言可能好点
baichi4141 2014-01-08
  • 打赏
  • 举报
回复
跟结构体没啥关系,关键在于指针 至于为啥用指针——嗯,一幅宽度不确定高度不确定的图片,你不用指针保存一下试试看?再把它等大小切成四份八份三十二份不确定份数,你不用指针保存一下试试看?
赵4老师 2014-01-08
  • 打赏
  • 举报
回复
函数传参一般用指针而不用指针指向的数据(包括结构体)。
风行踩火轮 2014-01-08
  • 打赏
  • 举报
回复
赞同二楼,要不然谁愿意冒内存泄露的风险使用指针呢
starytx 2014-01-08
  • 打赏
  • 举报
回复
指针和对象的区别,和结构体没啥关系。指针的作用搜一下一大把,再加上多实践就明白为啥要用指针了
Mr_白 2014-01-08
  • 打赏
  • 举报
回复
引用 1 楼 derekrose 的回复:
因为指针效率比较高 不然谁特么用它啊
回答的真霸气····
derekrose 2014-01-08
  • 打赏
  • 举报
回复
因为指针效率比较高 不然谁特么用它啊

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧