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

关于C语言中不允许在函数外部给全局变量赋值

程序员文章站 2024-01-26 10:07:10
...
#include <stdio.h>

typedef struct
    {
        int r;
        int t;
        char y;
    }Tyep_T;

    Tyep_T tyep;
    Tyep_T *ptyep ;
    /* Tyep_T *ptyep (int a);这种操作属于声明部分不应称为语句,因为它不产生机器操作,而只是对变量的定义
       ptyep = &tyep;这是个赋值语句;能产生机器操作;即是执行语句,执行语句要放入函数体内部。所以全局
       变量是不能这样赋值的。如果想给全局变量赋值可以这样操作Tyep_T *ptyep = &tyep ;因为这样是在定义的
       同时给变量变量赋值,但就是不能单列一条语句;
    */
    ptyep =  &tyep;
    //Tyep_T *ptyep = &tyep ;

int main(void)
{

    char b;
    int x;
    int *p;
    p = &x;
    char a = 255;
    b = a + 1;
    int i = 4294967295;

    printf("sizeof(int) = %d\n\r",sizeof(int));
    printf("b + 1 = %d\n\r", i + 1);
}