struct和typedef

来源:互联网 发布:网络作家排行榜2015 编辑:程序博客网 时间:2024/06/06 23:17

struct
把一组变量组合成一个构造的一种方式
1、struct可以写在函数里,也可以单独写在外面,自成一体,C++的class对象的语法就是由struct演化而来的。
2、注意以分号结束。

struct Student{    string name;    int age;    int number;};int main(){     struct Student s;//如果不使用别名,s的数据类型就是struct Student    s.name="张三";        return 0;}

struct和typedef

typedef struct {    string name;    int age;    int number;}Student;int main(){     Student s;//使用别名,可以简化定义变量    s.name="张三";        return 0;}

带struct名的typedef别名结构体举例

typedef struct SelfReferential{    int i;    SelfReferential* sr;}SelfReferential;int main(){    SelfReferential sr1,sr2;    //sr1和s2互相指向且每个都有一块数据    sr1.sr=&s2;    sr2.sr=&s1;    sr1.i=47;    sr2.i=1024;}

指针和struct、typedef

//struct的名字和typedef的名字可以不相同,但是还是相同的好    typedef struct Structure{        char c;        int i;        float f;        double d;    }Structure;int main(){     Structure s1,s2;    Structure* sp=&s1;    sp->c='a';//用'->选择s1的成员并初始化他们'    sp->i=1;    sp->f=3.14;    sp->d=0.0000093;    //指针的一个好处就是可以动态重定向它的指向,使编程更灵活    //java中的动态绑定底层其实还是指针    sp=&s2;    sp->c='a';    sp->i=1;    sp->f=3.14;    sp->d=0.0000093;    return 0;}
0 0