[英]C how to allocate struct to struct?
以下代碼給了我一個編譯錯誤“ incompatible types at assignment
”
文件1:
struct x{
int a;
int b;
int c;
};
檔案2:
static struct x d;
void copyStructVal(){
d-> a = 1;
d-> b = 2;
d-> c = 3;
}
x getStruct(){
copyStructVal();
return d;
}
文件3:
static struct x e;
void copy(){
e = getStruct();
}
我已經搜索過了,但是找不到答案。 我可以使用指針嗎? (我是C語言的業余愛好者)
在C語言中,除非typedef
,否則您需要在struct
名稱后寫struct
。 換一種說法:
x getStruct(){
一定是:
struct x getStruct(){
由於您是在其余代碼中編寫的,因此我認為這是一個錯字。
最重要的是,由於d
不是指針,因此必須修復這3行:
d-> a = 1;
d-> b = 2;
d-> c = 3;
他們應該是:
d.a = 1;
d.b = 2;
d.c = 3;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.