• 学习c语言的第14天


    #include <stdio.h>

    #include <string.h>

    struct student

    {

        int age;

        char sex;

        char name[100];

    };

    void input(struct student *);

    void output(struct student ss);

    int main(void)

    {

        struct student st;

        input(&st);

        output(st);

        return 0;

    }

    void output(struct student ss)

    {

        printf("%d %c %s ",ss.age, ss.sex, ss.name);

    }

    void input(struct student *pstu)

    {

        (*pstu).age=10;

        strcpy(pstu->name, "张三");

        pstu->sex='M';

    }

    input(&st); 对结构体变量输入,必须发送st的地址

    output(st); 对结构体变量输出,可以发送st的地址也可以直接发送st的内容

    这个程序的功能是通过函数完成对结构体的输入输出

    #include <stdio.h>

    #include <string.h>

    struct student

    {

        int age;

        char sex;

        char name[100];

    };

    void input(struct student *);

    void output(struct student *);

    int main(void)

    {

        struct student st;

        printf("%d ",sizeof(st));

        input(&st);

        output(&st);

        return 0;

    }

    void output(struct student *pst)

    {

        printf("%d %c %s ",pst->age, pst->sex, pst->name);

    }

    void input(struct student *pstu)

    {

        (*pstu).age=10;

        strcpy(pstu->name, "张三");

        pstu->sex='M';

    }

    上面这个程序体现了指针的优点,printf("%d ",sizeof(st)); st占用了108个字节,output(&st); &st是个地址变量只占8个字节,如果是发送

    内容像前面一个程序写成oupt(st); 则此时st占用了108个字节,这样就浪费了内存空间,也使传输速度变慢,因为output(st); 中的st传递

    void output(struct student ss)需要传108个字节,而改为指针的话只需8个字节

    #include<stdio.h>

    enum weekday

    {

        monday, tuesday, wednesday, thursday, friday, saturday, sunday

    };

    int main(void)

    {

        enum weekday day=monday;

        printf("%d ",day);

        return 0;

    }

    这是一个枚举例子,输出的是0,如果是tuesday则是1,依次类推enum weekday 是一个数据类型,前面的数据结构体struct student也可以

    说是一个数据类型

  • 相关阅读:
    npm 与 yarn 发展史
    关于oracle sql语句查询时表名和字段名要加双引号的问题
    Navicat工具mysql转库oracle步骤
    Linux根目录扩容方法及其涉及的相关磁盘操作
    Oracle中的数据类型详解
    一张图看懂钢铁生产工艺流程
    MYBATIS-PLUS关联查询,一对一、一对多
    直接替换Springboot jar包中的文件
    springboot配置数据库密码特殊字符报错问题
    教你一招,把 Win10 更新暂停到 N 年后的神奇方法
  • 原文地址:https://www.cnblogs.com/linuxboke/p/5657738.html
Copyright © 2020-2023  润新知