摘要: 精彩的一个问题是系统对内存空间申请的分配机制:
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;//行,列,非零元个数
阅读全文