欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言不允许对全局变量在函数外进行赋值

程序员文章站 2024-01-24 09:26:34
...

记录一段代码。

#include<stdio.h>

void PRINTFZIMU(int ch);

struct ZIMU 
{
    int a;
    int b;
};

struct ZIMU zimu[3];
zimu[0].a = 1;
int main()
{
    zimu[0].a = 1;
    PRINTFZIMU(0);

	return 0;
}

void PRINTFZIMU(int ch)
{
    struct ZIMU  *pointer;
    pointer = zimu + ch;
 	printf("%d\n",pointer->a);
}

然后就运行的时候报错。
这个时候只需要将赋值操作语句放在函数内部就可以。
因此,C语言不允许全局变量在函数外进行赋值。除非是在定义变量的时候顺带一起对其进行初始化。