C语言中结构体



void main() {
    int* p;
    int n = 4;
    p =(int*) malloc(sizeof(int));            //malloc函数默认返回void类型指针,必须强制类型转化
    cout << *p;
}

 

#define ElementType char                //ElementType和char用法和意义完全一致
ElementType c='c';

 

struct Stu {
    int num;
}stu1;                                                //Stu和stu1不同意义
void fun1() {
    stu1.num=1;                                        //stu1已经是结构体的具体对象
    struct Stu st2;                                 //Stu仅仅为结构体模板,struct可以省略
    st2.num = 2;                                    //初始化    
    struct Stu* p_stu;                                //定义一个指向结构体Stu类型的指针
    p_stu = &stu1;                                    //将stu1地址赋值给p_stu
    p_stu->num = 2;                                    //赋值
}

typedef struct Man {
    int year;
}man;                                              //Man和man用法和意义完全一致,都表示数据类型
typedef struct Man* Man_P;                         //Man_P为数据类型,指向结构体struct Man的指针
typedef Man_P Man_pp;                              //Man_P和Man__pp用法和意义完全相同
Man *man_p1;                                       //man_p1为指向结构体的一个指针
void fun2() {
    Man man1;                                       //由结构体模板得到一个具体的数据
    man1.year = 1;                 
    man man2;
    man2.year = 2;
    Man_P man_p2;                                //得到一个指向结构体的指针man_p2
    man_p1 = &man1;
    man_p2 = &man2;
}
struct Stu {
    int num;
}ST[3];         //定义结构体数组
void f() {
    ST[1].num = 1;
}

 



 

posted @ 2022-01-13 23:12  吃夜宵喊我  阅读(82)  评论(0)    收藏  举报