zoukankan      html  css  js  c++  java
  • C/C++结构体

    结构变量的声明和初始化

    #include <cstdio>
    
    int main()
    {
        struct {
            int age;
            int height;
        } x, y = {29, 180};
        
        // 结构的成员在内存中按照声明的顺序存储 
        x.age = 30;
        x.height = 170;
        
        return 0;
    }

    结构类型——结构标记

    #include <cstdio>
    
    int main()
    {
        struct struct_name {
            int age;
            int height;
        } x; // 同时声明了【结构标记struct_name】和【结构变量x】 
        
        struct struct_name y; // 纯C时必须加上struct 
        
        struct_name z; // C++编译器则不必加struct  
        
        return 0;
    }

    结构类型——typedef

    #include <cstdio>
    
    int main()
    {
        typedef struct {
            int age;
            int height;
        } struct_name; 
        
        struct_name x;
        
        return 0;
    }

    C风格结构体

    传递指向结构的指针来代替传递结构可以避免生成副本。

    #include <cstdio>
    #include <algorithm>
    #include <cstring>
    using namespace std;
    
    struct _Student {
        char* name;
        int age;
        int score;
    };
    typedef struct _Student* Student;
    
    Student newStudent(char* name, int age, int score)
    {
        Student result = (Student) malloc(sizeof(struct _Student));
        result->name = name;
        result->age = age;
        result->score = score;
        
        return result; 
    }
    
    void printStudent(Student x)
    {
        printf("%s %d %d
    ", x->name, x->age, x->score);
    }
    
    
    int main()
    {
        Student a, b;
        a = newStudent("asd", 19, 100);
        b = newStudent("dad", 12, 110);
        printStudent(a);
        printStudent(b);
        
        return 0;
    }
  • 相关阅读:
    ‘Host’ is not allowed to connect to this mysql server
    centos7安装mysql
    further configuration avilable 不见了
    Dynamic Web Module 3.0 requires Java 1.6 or newer
    hadoop启动 datanode的live node为0
    ssh远程访问失败 Centos7
    Linux 下的各种环境安装
    Centos7 安装 python2.7
    安装scala
    Centos7 安装 jdk 1.8
  • 原文地址:https://www.cnblogs.com/xkxf/p/14436801.html
Copyright © 2011-2022 走看看