1. 程式人生 > >☆ C/C++ 結構體陣列與typedef

☆ C/C++ 結構體陣列與typedef

記錄自己不經意間遇到的錯誤,

調了很久才發現是結構體這裡的問題:

 

****************************************************************************************************************************************

★問題出現:

typedef struct stu  
{
	char name[20];
	float score;
}stu_info[3];

這樣無論怎麼賦值都會出現錯誤,

因為出現這個問題的時候,用的是學校的電腦,程式不僅不顯示錯誤行數與還不顯示錯誤提示,

bang~bang~bang~報給我一個錯誤……(崩潰的我~)

所以要記錄下來!

 

★問題解決:

查閱相關資料才發現問題出在typedef上,

typedef 只是給變數起一個別名,在我上面的程式碼中,

一個普通的結構體名被起了一個數組的別名,當然在定址的時候會出現問題~

struct stu        //typedef不能和結構體陣列一起使用
{
	char name[20];
	float score;
}stu_info[3];

然後,去掉typedef,這裡的stu_info[3]的含義就和上面不同了,

這裡是定義了一個結構體陣列,每個結構體的型別都是上面的結構體型

 

 

 

 

****************************************************************************************************************************************

 

             最快的腳步不是跨越,而是繼續,最慢的步伐不是小步,而是徘徊。
 

****************************************************************************************************************************************