相关疑难解决方法(0)

如何在c/c ++中使用指针传递一个struct数组?

在C代码中,我坚持将一个struct数组传递给一个函数,这里的代码类似于我的问题:

typedef struct
{
   int x;
   int y;
   char *str1;
   char *str2;
}Struct1;

void processFromStruct1(Struct1 *content[]);
int main()
{
    Struct1 mydata[]=
    { {1,1,"black","cat"},
      {4,5,"red","bird"},
      {6,7,"brown","fox"},
    };

    processFromStruct1(mydata);//how?!?? can't find correct syntax

    return 0;
}

void processFromStruct1(Struct1 *content[])
{
    printf("%s", content[1]->str1);// if I want to print 'red', is this right?
        ...
}

msvc中的编译错误是这样的:

error C2664: 'processFromStruct1' : cannot convert parameter 1 from 'Struct1 [3]' to 'Struct1 *[]'
1>       Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style …

c parameters struct

9
推荐指数
1
解决办法
3万
查看次数

标签 统计

c ×1

parameters ×1

struct ×1