摘要: 精彩的一個問題是系統對內存空間申請的分配機制:
typedef struct{
Triple *data;
int mu,nu,tu;
int rpos[MAXRC];
}TSMatrix;//這是我寫的對稀疏矩陣的第一種定義;
Data用堆棧申請方式向系統申請空間
初看起來沒有問題:貌似在許多的習題上見到這樣的寫法;
而且以前也沒有發現這種寫法會有錯誤;
以前的做法基本上是申請一塊空間然后存放一個結構;但是很少有申請一片內存然后對這塊內存按序號進行訪問;
雖然我的層序在vista系統下測試通過,但是我還是轉移到xp下測試一便,結果系統提示錯誤,肯定是內存分配的問題了,我將稀疏矩陣的定義改了一下:
typedef struct{
Triple data[MAXSIZE+1];//在使用過程有效位置也是從下標1開始
int mu,nu,tu;//行,列,非零元個數
閱讀全文