zoukankan      html  css  js  c++  java
  • struct and union example

    1. StructHandler.c:

    /*
     * StructHandler.c
     *
     *  Created on: Jul 6, 2013
     *      Author: wangle
     */
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    void modifyName(struct student *p);



    int main(){
        struct student{
            char name[50];
            char dep[50];
            long no;
            float score[4];
        };

        typedef struct student stu_t;

        struct student stu[50]={
            "wangle", "Math", 80,80,90.5,99,100,
            "xuyehui", "biological", 90,90,90,70,100,
            "mengmeng", "Math", 100,100,100,100,90
        };
        int i;
        for(i=0; i<3; i++){
            printf("%s, %s, %ld, %.2f,%.2f,%.2f,%.2f ", stu[i].name, stu[i].dep, stu[i].no,
                    stu[i].score[0], stu[i].score[1], stu[i].score[2], stu[i].score[3]);
        }

        stu_t * p = stu;
        puts((*(p+1)).name);     //(1) a pointer call style.
        puts((p+1)->name);       //(2) common pointer call style. (1) and (2) is the same.

        printf("%s ", (p+2)->name);
        printf("%s ", (*(p+2)).name);
        printf("no = %ld ", p->no);
        void modifyName(struct student * p){
                p->no = 123456;
        }

        modifyName(p);
        printf("%s ", (p)->name);
        printf("no = %ld ", p->no);
    }

    2. UnionHandler.c

    /*
     * UnionHandler.c
     *
     *  Created on: Jul 6, 2013
     *      Author: wangle
     */

    #include <stdio.h>
    int main(){
        union unidate{
            char c;
            int i;
            long l;
            float f
        };
        union unidate x;
        x.c=65;
        printf("c=%c ", x.c);
        x.i = 10;
        printf("i=%d ",x.i);
        x.l = 100;
        printf("l=%ld ", x.l);
        x.f = 90.5;
        printf("f=%.1f ", x.f);
        printf("c=%c ", x.c);
    }

  • 相关阅读:
    UWP 统一平台开发介绍
    异步编程之Javascript Promises 规范介绍
    Winform文件下载之WebClient
    微软 Build 2016年开发者大会发布多项功能升级
    绝对干货:自定义msi安装包的执行过程
    人机大战之AlphaGo的硬件配置和算法研究
    .Net 高效开发之不可错过的实用工具
    ComponentOne 2016 年产品规划
    三天学会HTML5 ——多媒体元素的使用
    三天学会HTML5——SVG和Canvas的使用
  • 原文地址:https://www.cnblogs.com/wangle1001986/p/3175941.html
Copyright © 2011-2022 走看看