如何将结构用作指针和函数中的结构

时间:2015-12-28 13:18:37

标签: c pointers

我有一个代码,我应该使用一些函数,其中一个有这样的原型:void writeR(RESISTOR),另一个像这样:void write(RESISTOR *,int) writeR函数应该在write函数内部调用,但我不知道如何使用它,因为除了writeR之外,我在所有函数中都有一个指针类型RESISTOR。 我应该在没有指针的情况下创建一个新的值类型RESISTOR,然后调用该函数或其他东西吗?

P.S。调用writeR函数输入电阻和电阻号。并且正在循环使用。

P.P.S。这是我尝试编译程序时得到的错误 严重性代码描述项目文件行抑制状态 错误C4700未初始化的本地变量' otp1'使用

void write(RESISTOR *otp, int n)
{
    RESISTOR otp1;
    int i;
    printf("\nRB. KATALOSKI BROJ           R");
    printf("\n--- --------------- ----------\n");
    for (i = 0; i < n; i++)
    {
        printf("%2d.",i + 1);
        writeR(otp1);
    }
}

1 个答案:

答案 0 :(得分:2)

使用间接运算符*来访问指针引用的结构。

void write(RESISTOR *otp, int n)
{
    int i;
    printf("\nRB. KATALOSKI BROJ           R");
    printf("\n--- --------------- ----------\n");
    for (i = 0; i < n; i++)
    {
        printf("%2d.",i + 1);
        writeR(*otp);
            // ^^^
    }
}