函数外面对单个结构体成员进行赋值出错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数外面对单个结构体成员进行赋值出错相关的知识,希望对你有一定的参考价值。

关于“为什么整型的就可以,结构体类型的就不能这么赋值呢?”——整形等常规数据类型由编译器自动识别,而自定义的数据类型(楼主自定义的结构体类型),编译器在编译阶段无法识别,故出错。

关于“在函数外单个初始化”——在入口函数(main函数)之前定义变量及初始化,得到的是全局变量。编译器对程序进行编译时,必须先构造或者创建全局变量,为全局变量分配内存,再找入口函数;而在创建全局变量时,该变量类型(楼主自定义的结构体)编译器无法识别,故无法创建该全局变量。

进入main函数之后,数据类型(楼主自定义的结构体)被定义,因此再进行变量定义及初始化,肯定就不会出错。

 

以上是关于函数外面对单个结构体成员进行赋值出错的主要内容,如果未能解决你的问题,请参考以下文章

结构体变量初始化问题

结构体指针

类和结构体的区别

关于C语言结构体构造函数初始化的问题?

c语言结构体能否整体赋值

c博客06-2019-结构体&文件