广播接收器:c++中#define F(x)定义语句可否替换为int格式语句?
来源:百度文库 编辑:中科新闻网 时间:2024/05/08 11:56:36
有这么一段定义:
#include "stdafx.h"
#include <iostream.h>
#define n 8
#define m 6
void main()
{
int i,j,count=0,k=0,h;
int MM[n][2]={0,0}; //用数组表示有向图
int t[m]={0}; //输出拓扑序列的数组
int s[m]={0}; //有向图个顶点的入度
int flag[m]={0}; //标记已删去的顶点
我想把m的数值变成可以人为输入的变量,不知应该怎样替换?首先把"#define m 6"改成“int m=6;”VC++就说有错误了!
#include "stdafx.h"
#include <iostream.h>
#define n 8
#define m 6
void main()
{
int i,j,count=0,k=0,h;
int MM[n][2]={0,0}; //用数组表示有向图
int t[m]={0}; //输出拓扑序列的数组
int s[m]={0}; //有向图个顶点的入度
int flag[m]={0}; //标记已删去的顶点
我想把m的数值变成可以人为输入的变量,不知应该怎样替换?首先把"#define m 6"改成“int m=6;”VC++就说有错误了!
不可以,因为m将作为数组的容量,必须是一个常数或者宏替换
如果想要动态的,要这样:
cin>>M;
int* t = (int*)malloc(M * sizeof(int));
也就是动态声明大小
如果你不会用new或者malloc函数,用vector循环M次每次新增一个也能实现;如果vector也不会,。。。。。还是用固定的吧
静态数组不可以用变量作长度
动态就可以:
int *a = new int[m]
就可以了
c++中#define F(x)定义语句可否替换为int格式语句?
C语言 中 #define
c 中#define 用法
C语言:有宏定义:#define POWER(x) x*x则在任何情况下计算会不会引起二义性?为什么?
java中有没有类似C中的#define N 500这样的语句啊?
c中函数f返回值为指向x类型变量的指针,定义的时候怎么写?
c语言#define M(x,y,z) x*y+z
C语言中 “#define list_init_size 80” 是什么意思?
C++中.const 与#define都是定义全局变量的吗?
帮忙解释一下宏定义#define print(x) printf(#x) 是怎么替换的