找回密码
 注册
关于网站域名变更的通知
查看: 223|回复: 2
打印 上一主题 下一主题

C语言结构体中的变量如何被结构体内函数调用?

[复制链接]
  • TA的每日心情
    开心
    2022-1-24 15:10
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2022-1-19 13:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    struct
    2 W$ U- `2 s) H" G: Q- {" u6 R  q4 Q{. r. Y; I1 x) c4 {0 N- K
            int x,y;  e1 R6 Q6 f( z- t
            int (*add)(int,int);2 ~! ^# u' w* c- h
    }demo_s  B1 A" A+ }4 ?  N

    " s5 j# o. Y- h  z2 t- F
    $ x8 j* S2 T. \# I. n) Z' j& n4 D
    int add(int x, int y)) X' H4 p: w  v9 G8 E* x
    {
    2 p6 L( P3 e& Z( p& q        return x+y;6 [; w* N# r% f5 r' I7 p8 V
    }0 Y& I, Q. K/ @) g" x: `) R1 H( C8 U
    一般是这样使用
    6 v" d1 @' r7 |int total;
    9 f6 `4 n. `# }4 \9 n# {0 Z% [main()
    / x$ C3 J% ]: e- k7 n{2 Q1 w, ^9 a5 ]& T
            demo_s demo;: o$ C: h) h# U1 ~' P/ Y
            demo.add = add;
    7 Q, q" [' W: k6 x  f        total = demo.add(3,4);) E& |6 F, R1 U1 }0 {& e5 g7 g
            while(1);
    0 E$ F/ n9 j# F}+ F- f% H( l2 p

    " U2 K4 q! H5 F

    ! O! b8 a! m4 `# w% A! ]# Z如果我要add的输入参数是demo里的x,y,不知道如何实现,有什么办法吗?

    - ]: j* c: s9 B% g; {' A, d
  • TA的每日心情
    开心
    2022-1-21 15:08
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2022-1-19 14:31 | 只看该作者
    total = demo.add(demo.x,demo.x);

    该用户从未签到

    3#
    发表于 2022-1-19 14:32 | 只看该作者
    没有更好的办法,公司再做个强制规定,demo_s * this; 后面的这个变量名必须叫this,这就有了手动this call,只是楼主提的缺陷暂时无法解决。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-7-18 07:28 , Processed in 0.109375 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表