标题:指针程序问题,帮忙看下,谢谢!
只看楼主
bigben1990
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-12-24
结帖率:0
已结贴  问题点数:20 回复次数:4 
指针程序问题,帮忙看下,谢谢!
typedef struct
{
     ...

  uint8_t factor;

     ...

}TXJSDef;

typedef struct
{

     ...

}TXJS_JCDef;
-------------------------------------

uint8_t zxcx(TXJSDef *frame)      
{
  TXJS_JCDef *para;  
  para=(TXJS_JCDef *)&frame->factor;
  ...

  }

TXJSDef、TXJS_JCDef是定义的两个结构体,那横线----下面段指针程序是什么意思,帮忙指导一下,谢谢!
搜索更多相关主题的帖子: factor frame 结构体 
2016-12-24 11:44
marlow
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:125
专家分:419
注 册:2016-7-18
得分:10 
‘把factor的地址(指向它的指针)强制类型转换,并保存至Para

[此贴子已经被作者于2016-12-24 12:21编辑过]


一切都在学习、尝试、摸索中
2016-12-24 12:19
bigben1990
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-12-24
得分:0 
回复 2楼 marlow
你好,这样做的目的是什么,是否表示para不仅能够指向TXJS_JCDef结构体里的变量,还能指向TXJSDef里的变量?
2016-12-24 15:32
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:10 
这样看看可能好理解点:
#include <stdio.h>

typedef struct
{
    char a[2];
    char b[3];
    char c[4];
} ABC;

main()
{
    char buffer[100]="a\0bc\0def";
    printf("%s,%s,%s\n", buffer, buffer+2, buffer+5);
    ABC *abc = (ABC *)buffer;
    printf("%s,%s,%s\n", abc->a, abc->b, abc->c);
}
2016-12-24 16:09
marlow
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:125
专家分:419
注 册:2016-7-18
得分:0 
回复 3楼 bigben1990
我不清楚factor成员是什么类型,但取得其地址后,通过para可以操控其值

一切都在学习、尝试、摸索中
2016-12-24 16:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-472859-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.056153 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved