#define MSIZE 10 //最大物理块数
#define PSIZE 50 //最大页面数
char flag,pflag[PSIZE]; //缺页标志
int table[MSIZE][PSIZE]; //存放置换记录
本人想把上面定义的MSIZE和PSIZE的值改成可以输入任意值N 具体代码是什么啊
#define PSIZE 50 //最大页面数
char flag,pflag[PSIZE]; //缺页标志
int table[MSIZE][PSIZE]; //存放置换记录
本人想把上面定义的MSIZE和PSIZE的值改成可以输入任意值N 具体代码是什么啊
解决方案
100
使用指针的形式,并且用malloc分配空间
#include<stdio.h> #include<stdlib.h> #define MSIZE 10 //最大物理块数 #define PSIZE 50 //最大页面数 char flag,*pflag; //缺页标志 int **table; //存放置换记录 void main() { int m, p, i; printf("请输入m和p:"); scanf("%d%d", &m, &p); pflag = (char *)malloc(sizeof(char) * p); table = (int **)malloc(sizeof(int*) * m); for(i = 0; i < m; i++) table[i] = (int *)malloc(sizeof(int) * p); }