使用C中的指针运算符将结构传递给函数

问题描述

在此代码中:

我有2个成员的结构,并定义了3个变量。

其中两个是我分配的,第三个应该来自一个函数。

代码:

#include <stdio.h>

#include <stddef.h>
typedef unsigned short      int u16;        /*2 byte unsigned int*/
typedef unsigned char            u8;        /*1 byte unsigned char*/



typedef struct 
{
    u8 id;
    u8 salary;
} Emp;
void Math (Emp *Ptr1,Emp *Ptr2,Emp *resPtr);



void main ()
{
    Emp Ahmed = {100,100};
    Emp Ali = {200,200};
    
    Emp Result = {0,0};
    
    Math (&Ahmed,&Ali,&Result);
    printf("%d\n%d\n",Result.id,Result.salary);   
    
}


void Math (Emp *Ptr1,Emp *resPtr)
{
    resPtr -> id = Ptr1 -> id + Ptr2 -> id;
    resPtr -> salary = Ptr1 -> salary + Ptr2 -> salary;
}

结果是:

44
44

我正在使用gcc工具链,我到底在哪里出错?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)