zoukankan      html  css  js  c++  java
  • C结构体与枚举类型

    结构体

    结构体声明

      struct 结构体标签{

        成员变量;

      } 结构体变量;

    结构体定义

    #include <stdio.h>
    #include <string.h>
    struct user {
            int count;
            char name[20];
    }leader[3]={0, "Li", 0, "Zhang", 0, "Fun"};
    int main(int argc, char *args[]) {
            int i;
            for (i = 0; i < 3; i++) {
                    printf("%s\n", leader[i].name);
            }   
            return 0;    
    }

    结构体的成员访问

    通过.号进行成员访问,若通过指针指向结构体,访问为(*p).attr;或者是p->attr,同理可得

    #include <string.h>
    #include <malloc.h>
    struct user {
            int count;
            char name[20];
    }leader[3]={3, "Li", 8, "Zhang", 9, "Fun"};
    int main(int argc, char *args[]) {
            int i;
            for (i = 0; i < 3; i++) {
                    printf("%s\n", leader[i].name);
            }   
            // 指向结构体的指指针
            struct user *user1;
            user1 = (struct user *)malloc(sizeof(struct user));
            printf("%d\n", user1->count);
            strcpy(user1->name, "Haiyu");
            printf("%s\n", user1->name);
            // 指向结构体数组的指针
            struct user *p = leader;
            printf("%d\n", p->count);
            return 0;        
    }

     枚举类型

    简单来说,枚举相当于一组简单数值常量的集合。

    枚举的定义是:枚举是指将变量的值一一列举出来,变量的值只限于列举出来的范围内。

            enum status{
                    NOT_PAY, HAD_PAY
            };
            printf("%d\n", HAD_PAY);

    输入结果为:1

    默认枚举类型第一位是0,每次递增1,若中途有重新赋值,如:

            enum status{
                    NOT_PAY, HAD_PAY, UN_START=100, UN_USED, HAD_USED
            };
            printf("%d\n", UN_USED);

    输出结果为101,即中间的枚举变量将会按重新赋值后的值递增

  • 相关阅读:
    区块链技术基础
    理解数字货币
    MySQL-插入更新 ON DUPLICATE KEY UPDATE
    Flume-Failover Sink Processor 故障转移与 Load balancing Sink 负载均衡
    Flume-Replicating Channel Selector 单数据源多出口
    Flume-几种拓扑结构
    Flume-事务与传输流程
    Java-JPDA 概述
    Navicat Premium
    Flume-Taildir Source 监控目录下多个文件的追加
  • 原文地址:https://www.cnblogs.com/haiyupeter/p/2676162.html
Copyright © 2011-2022 走看看