C语言怎样声明一个变量,使得它的作用域为整个函数,以及在该函数内调用的函数?

voidColoring(structMGraph*G){intx[40]=……//数组x[]初始化inti,j,k;intboolmatrix[40][40];k=G-... void Coloring(struct MGraph *G)
{
int x[40]=…… //数组x[]初始化
int i,j,k;
int boolmatrix[40][40];
k=G->vexnum;
for(i=0;i<k;++i)
for(j=0;j<k;++j)
{
…… //对数组boolmatrix[][]赋值
}
functionk(G,k); //这是一个递归函数
}

怎样修改该程序段,使得数组x[]和boolmatrix[][]的作用域为函数Coloring内部,以及函数functionk的内部。不想把它们作为参数给functionk。
展开
 我来答
犊子VS小犊子
2012-09-15 · TA获得超过111个赞
知道答主
回答量:67
采纳率:0%
帮助的人:17.9万
展开全部
你可以定义一个全局变量,这个全局变量在哪个函数中都可以使用!
例如:
#include<stdio.h>
int a,b;(全局变量)

void main()
{
int sort( int a, int b);
int max;
scanf("%d%d",&a,&b);
max=sort(a,b);
printf("max=%d",max);
}

int (int a,int b)
{
int t , max_a_b=b;
if(a>b)
{
t=a;
a=b;
b=t;
}
return(max_a_b);
}
这个程序中,定义了全局变量a和b之后,在main函数和sort函数中不用定义a和b,也可以使用!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hnzhoul
2012-09-15 · TA获得超过401个赞
知道小有建树答主
回答量:583
采纳率:0%
帮助的人:239万
展开全部
不能只在两个函数内部使用吧,在一个函数内部声明就只能在该函数内部使用。在函数外面声明,则可以在其声明后的任何函数中使用。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
littlebao203
2012-09-15
知道答主
回答量:19
采纳率:0%
帮助的人:5.6万
展开全部
那就定义在文件的头上,作为该文件的全局变量啊。 不过我认为全局变量还是少用的好,容易出错,如果能用参数传递,就用参数传递吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
水溥心0T
2012-09-15 · TA获得超过164个赞
知道小有建树答主
回答量:276
采纳率:100%
帮助的人:159万
展开全部
这个做不到,要么用全局变量
不知道为什么不想传参呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无私又平实丶虎鲸i
2012-09-15 · TA获得超过202个赞
知道答主
回答量:305
采纳率:0%
帮助的人:201万
展开全部
全局函数吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式