C/C++结构体

                     时间:2021-02-27 13:32:58      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:return   声明   void   def   结构体   type   tst   存储   code

结构变量的声明和初始化

#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\n", 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;}

C/C++结构体

(0)

相关推荐