[英]Copy a struct to a struct array
嗨,我需要一些幫助。 我正在嘗試為每個不同的SOwner將SCar結構存儲到SOwner結構內的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);
但是后者只是編寫前者的一種更復雜的方法,因此只需使用索引即可。
您必須定義一個指針數組
typedef struct {
char name[40];
SCar * cars [100];
} SOwner;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.