嘿,伙计们,我需要帮助。我试图将SCar结构存储到播种器结构中的SCar数组中,针对每个不同的播种器,尽管我得到了以下错误:
从类型“struct Scar*”分配到类型“Scar”时不兼容的类型
下面是一些代码:

typedef struct {
char name[40];
SCar cars [100];
} SOwner;

typedef struct {
char color[40];
char brand[12];
} SCar;

SOwner *ownerPTR;
SCar *carPtr

void function(){
for(i=0; i<10 ; i++){
    (ownerPtr)->cars[i] = (carPtr+i);   // Problem here <<<--
}

有什么简单的方法可以解决这个问题吗?谢谢

最佳答案

必须取消对右侧指针的引用才能生成SCar类型的值。
就像这样:

ownerPtr->cars[i] = carPtr[i];


ownerPtr->cars[i] = *(carPtr + i);

但是后者只是编写前者的一种更为复杂的方式,所以只需使用索引即可。

10-02 06:25