[英]Using structures in other structures. C
我在一個.h文件中有三個結構。
typedef struct name{
char first[20];
char middle;
char last[20];
} PersonName;
typedef struct address{
char street[20];
char city[20];
char state[20];
int zipCode;
} PersonAddress;
typedef struct employee{
PersonName bob;
PersonAddress place;
int id;
} Employee;
我想做的是使用員工結構來完成其他結構的工作。
我打個電話:
void setName(struct employee* object, char* f, char* l, char* m);
到我的.c文件,應該在以下位置接收此文件:
void setName(struct employee* object, char* f, char* l, char* m){
strncpy(object.bob.first,f,20);
strncpy(object.bob.last,l, 20);
object.bob.middle=m[0];
}
為了能夠在不使用其他結構的情況下更改值。 我只是看錯了方向嗎? CMD說:“要求鮑勃不是某種結構。任何幫助將不勝感激。
object是一個指針,因此您需要鍵入object-> bob才能訪問bob。 bob是一個結構,因此您需要object-> bob.first才能首先訪問。
另外,您可能需要用一個常量替換所有這20個常量,然后再進行更改,忘記更改其中的一個,並且到處都有bug。
鮑勃是個指針。 為了訪問其成員,請嘗試使用->運算符代替。
換一種說法:
void setName(struct employee* object, char* f, char* l, char* m){
strncpy(object->bob.first,f,20);
strncpy(object->bob.last,l, 20);
object->bob.middle=m[0];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.