关于全局变量,请教大家,谢谢
大家好,我有个问题请教,如下:int **c;
void ini_can(int a[][9]){
int i,j,k;
for(i=0;i<9;i++){
for(j=0;j<9;j++){
if(a[i][j]==0){
c[i*9+j]=(int *)malloc(sizeof(int)*9);
for(k=0;k<9;k++)*(c[i*9+j]+k)=k+1;
}
else c[i*9+j]=(int *)malloc(sizeof(int)*9);
}
}
}
void main(){
...
}
大家不需要考虑这个函数是干什么的,我只是随便举个例子。
我声明了一个全局变量int **c,但是没有初始化,而且在主函数里也没有初始化,那么应该会出现:编译不会报错,但是运行一定会出错,因为没有初始化,对吧?
我的问题是:如果定义全局变量时没有初始化,而下面有函数要使用这个全局变量,是不是他先会看在主函数中是否有该全局变量的初始,如果也没有,那将运行出错,是这样么?谢谢。