我正在經歷一些在C語言中應該很簡單的東西,但由於某種原因,似乎無法使其發揮作用。如何在一個不同的結構中放置一個結構的預置數組?
這裏有結構:
#define MAX_BRANCH 500
#define MAX_BANK_CLIENTS 100000
#define MAX_CLIENTS 10000
typedef struct Client{
char *pName;
char *fName;
int id;
int branch;
int AccountNum;
int credit;
double surplus;
double IOU;
double savings;
}Client;
typedef struct Branch{
int BrnachNum;
char *Name;
int Accounts;
double sumOfAll;
double profit;
int ActiveLoans;
int Opened;
int Closed;
Client ClientList[MAX_CLIENTS];
}Branch;
typedef struct Bank{
char *Name;
int Branches;
int Accounts;
int ActiveLoans;
double sumOfAll;
double Profit;
Branch BranchList[MAX_BRANCH];
}Bank;
int main()
{
Bank Discount;
Discount.BranchList[0].Accounts = 1;
return 0;
}
// -------------------------------- ------------
這個簡單的整數值放置到整數參數顯示我堆棧溢出 或任何其他訪問內部字段 和字符指針將分配strdup(我可以使用的唯一內存分配)。
只要記住,我不能使用任何形式的內存分配。
其次是,有人指示我設置結構的靜態數組。像
static Branch BranchList[500]
但我怎麼能爲每個分支做同樣的事情?
你真的應該標記這個功課堆棧大小... – 2012-04-09 07:11:08
可能u顯示更多的代碼,具體如下:你的結構中有幾個指針,你說你不允許使用內存分配,所以我想知道你如何設置他們指向的內容? – 2012-04-09 07:19:50
這可能只是一個初始化問題。始終使用默認初始化程序'= {0}'初始化所有數組。 – 2012-04-09 08:32:09