微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

结构程序说明

如何解决结构程序说明

我遇到了这个代码

#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 举报,一经查实,本站将立刻删除。