怎么修改定义的变量输入值为N?求帮助

C++语言 码拜 8年前 (2016-04-10) 973次浏览
#define MSIZE 10      //最大物理块数
#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);
}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明怎么修改定义的变量输入值为N?求帮助
喜欢 (0)
[1034331897@qq.com]
分享 (0)