zoukankan      html  css  js  c++  java
  • 学点 C 语言(24): 数据类型 结构(struct)


    1. 结构就是多个变量的集合:
    #include <stdio.h>
    
    int main(void)
    {
        struct Rec {
            int x;
            int y;
        };
    
        struct Rec r1;
    
        r1.x = 111;
        r1.y = 222;
    
        printf("%d, %d", r1.x, r1.y);
        
        getchar();
        return 0;
    }
    

    2. 定义时同时声明变量:
    #include <stdio.h>
    
    int main(void)
    {
        struct Rec {
            int x,y;
        } r1,r2;
    
        r1.x = 111;
        r1.y = 222;
    
        r2.x = 333;
        r2.y = 444;
    
        printf("%d, %d\n", r1.x, r1.y);
        printf("%d, %d\n", r2.x, r2.y);
        
        getchar();
        return 0;
    }
    

    3. 定义时同时声明变量并赋值:
    #include <stdio.h>
    
    int main(void)
    {
        struct Rec {
            int x,y;
        } r1 = {777,888};
    
        printf("%d, %d\n", r1.x, r1.y);
        
        getchar();
        return 0;
    }
    
    #include <stdio.h>
    
    int main(void)
    {
        struct Rec {
            char  name[12];
            short age;
        } r1 = {"ZhangSan", 12};
    
        printf("%s, %u", r1.name, r1.age);
        
        getchar();
        return 0;
    }
    

    4. 声明变量是赋初值:
    #include <stdio.h>
    
    int main(void)
    {
        struct Rec {
            char  name[12];
            short age;
        };
    
        struct Rec r1 = {"ZhangSan", 12};
    
        printf("%s, %u", r1.name, r1.age);
        
        getchar();
        return 0;
    }
    

    5. 声明后给字符串赋值有点麻烦:
    #include <stdio.h>
    #include <string.h>
    
    int main(void)
    {
        struct Rec {
            char  name[12];
            short age;
        };
    
        struct Rec r1;
    
        strcpy(r1.name, "ZhangSan");
        r1.age  = 18;
    
        printf("%s, %u", r1.name, r1.age);
        
        getchar();
        return 0;
    }
    

    6. 如果在定义时直接声明变量, 可省略结构名:
    #include <stdio.h>
    
    int main(void)
    {
        struct {
            char  name[12];
            short age;
        } r1 = {"ZhangSan", 12};
    
        printf("%s, %u", r1.name, r1.age);
        
        getchar();
        return 0;
    }
    

    7. 通过 scanf 赋值:
    #include <stdio.h>
    
    int main(void)
    {
        struct Rec {
            char  name[12];
            short age;
        } r1;
    
        printf("name: ");
        scanf("%s", r1.name);
    
        printf("age: ");
        scanf("%d", &r1.age);
    
        printf("Name: %s; Age: %d", r1.name, r1.age);
        
        getchar(); getchar();
        return 0;
    }
    

  • 相关阅读:
    Zookeeper实战
    Zookeeper的结构和命令
    Zookeeper中的选举机制
    du 命令,对文件和目录磁盘使用的空间的查看
    rm命令
    linux之cp/scp命令+scp命令详解
    android 为应用程序创建桌面快捷方式技巧分享
    对自己的文件使用keystore签名
    Android 打包签名 从生成keystore到完成签名 -- 转
    Android App启动错误的问题(connection to the server was unsuccessful)
  • 原文地址:https://www.cnblogs.com/del/p/1343108.html
Copyright © 2011-2022 走看看