关于结构体初始化问题

[复制链接]
查看11 | 回复7 | 2021-1-27 06:52:08 | 显示全部楼层 |阅读模式
如题,对于结构体初始化有点不明白,如下代码
方法一:
struct
{
chari;
charj;
}var;
var.i=10;
方法二:
struct
{
chari;
charj;
}var;
main()
{
var.i=10;
}
为什么第一种将结构体初始化为全局的就报错咧,而初始化在函数内部就不会有问题咧?
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:52:08 | 显示全部楼层
“变量赋值”和“变量初始化”不是一回事!
“变量赋值”发生在运行期,其写法遵循赋值语法规定。
“变量初始化”发生在编译期或运行期,其写法遵循初始化列表语法规定。

回复

使用道具 举报

千问 | 2021-1-27 06:52:08 | 显示全部楼层
初始化和赋值的区别
回复

使用道具 举报

千问 | 2021-1-27 06:52:08 | 显示全部楼层
赵4老师说的是对的。
回复

使用道具 举报

千问 | 2021-1-27 06:52:08 | 显示全部楼层
你这是赋值,不是初始化。。。
回复

使用道具 举报

千问 | 2021-1-27 06:52:08 | 显示全部楼层
全局只能有声明语句。
回复

使用道具 举报

千问 | 2021-1-27 06:52:08 | 显示全部楼层
struct
{
chari;
charj;
}var;
var.i=10;//*这行代码只是给var这个结构体变量里面的元素i赋值,这个不是初始化的。基础的东西,仔细看下书
回复

使用道具 举报

千问 | 2021-1-27 06:52:08 | 显示全部楼层
概念。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行