二级C语言考试辅导教程第七章:结构与联合[2]

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

  结构变量的赋值

    前面已经介绍,结构变量的赋值就是给各成员赋值。 可用输入语句或赋值语句来完成。
    [例7.1]给结构变量赋值并输出其值。
    main(){
    struct stu
    {
    int num;
    char *name;
    char sex;
    float score;
    } boy1,boy2;
    boy1.num=102;
    boy1.name="Zhang ping";
    printf("input sex and score/n");
    scanf("%c %f",&boy1.sex,&boy1.score);
    boy2=boy1;
    printf("Number=%d/nName=%s/n",boy2.num,boy2.name);
    printf("Sex=%c/nScore=%f/n",boy2.sex,boy2.score);
    }

    本程序中用赋值语句给num和name两个成员赋值,name是一个字符串指针变量。用scanf函数动态地输入sex和score成员值,然后把boy1的所有成员的值整体赋予boy2。最后分别输出boy2 的各个成员值。本例表示了结构变量的赋值、输入和输出的方法。 来源:www.examda.com

    结构变量的初始化
    如果结构变量是全局变量或为静态变量, 则可对它作初始化赋值。对局部或自动结构变量不能作初始化赋值。
    [例7.2]外部结构变量初始化。
    struct stu /*定义结构*/
    {
    int num;
    char *name;
    char sex;
    float score;
    } boy2,boy1={102,"Zhang ping",’M’,78.5};
    main()
    {
    boy2=boy1;
    printf("Number=%d/nName=%s/n",boy2.num,boy2.name);
    printf("Sex=%c/nScore=%f/n",boy2.sex,boy2.score);
    }
    struct stu
    {
    int num;
    char *name;
    char sex;
    float score;
    }boy2,boy1={102,"Zhang ping",’M’,78.5};
    main()
    { 
    boy2=boy1;
    ……
    }
    本例中,boy2,boy1均被定义为外部结构变量,并对boy1作了初始化赋值。在main函数中,把boy1的值整体赋予boy2, 然后用两个printf语句输出boy2各成员的值。 来源:www.examda.com 
    [例7.3]静态结构变量初始化。
    main()
    {
    static struct stu /*定义静态结构变量*/
    {
    int num;
    char *name;
    char sex;
    float score;
    }boy2,boy1={102,"Zhang ping",’M’,78.5};
    boy2=boy1;
    printf("Number=%d/nName=%s/n",boy2.num,boy2.name);
    printf("Sex=%c/nScore=%f/n",boy2.sex,boy2.score);
    }
    static struct stu
    {
    int num;
    char *name;
    char sex;
    float score;
    }boy2,boy1={102,"Zhang ping",’M’,78.5}; 
    本例是把boy1,boy2都定义为静态局部的结构变量, 同样可以作初始化赋值。

上一页12下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答