zww219的个人空间 https://blog.eetop.cn/zeen [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

c语言中结构使用时,内存分配和结构体交换的问题

已有 1562 次阅读| 2007-6-7 21:00

天气: 晴朗
心情: 高兴

typedef struct DataNode{
 u8 value;
 u8 probability;
}*dataNode;

 

此时,如果是

struct DataNode p1,p2,tmp;

那么,就可以直接通过p1.value=**;方式来赋值

如果是

dataNode p1,p2,tmp

那么必须在使用前分配内存

p1=(struct DataNode *)malloc(sizeof(struct DataNode));

然后使用p1->value=**;方式来赋值

 

但是,无论哪种形式,

tmp=p1;
 p1=p2;
 p2=tmp;

 

都可以完全交换那个结构体中的变量内容.

 

 


点赞

发表评论 评论 (3 个评论)

回复 like027 2007-6-8 00:56
我认为这种交换方式不安全。
回复 zww219 2007-6-12 19:31
愿问其详
回复 zww219 2007-6-12 19:32
我认为一个是交换指针地址,一个交换结构体内容

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 0

    获赞
  • 50

    评论
  • 1344

    访问数
关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-25 04:14 , Processed in 0.036719 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部