如何解决结构程序说明
我遇到了这个代码:
#include<stdio.h>
#include<string.h>
struct gospel
{
int num;
char mess1[50];
char mess2[50];
} m1 = { 2,"If you are driven by success","make sure that it is a quality drive"
};
int main()
{
struct gospel m2,m3;
m2 = m1;
m3 = m2;
printf("\n%d %s %s",m1.num,m2.mess1,m3.mess2);
return 0;
}
但是我无法得到 m1 =
{ 2,"make sure that it is a quality drive"
};
是什么意思?有人可以解释它的含义以及这个程序的输出有理由吗。
解决方法
struct gospel
{
int num;
char mess1[50];
char mess2[50];
} m1 = { 2,"If you are driven by success","make sure that it is a quality drive" };
正在定义一个类型为 struct gospel
和写作一样
struct gospel
{
int num;
char mess1[50];
char mess2[50];
};
struct gospel m1 = { 2,"make sure that it is a quality drive" };
大括号按顺序将结构体的值分配给变量 - 因此 m1.num 被分配了值 2,m1.mess1 被分配了值“如果你被成功驱动”,而 m1.mess2 被分配了价值“确保它是一个高质量的驱动器”
如果您想了解有关此类初始化的更多信息,建议阅读 this article。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。