C语言结构体学习系列之(一)

(一)定义结构体的三种方法:
1:定义结构体类型,然后定义变量。例:

struct Teacher
{
    char name[64];
    int age;
    int id;
};

void main()
{
    struct Teacher t1;
}

或者是使用typedef定义结构体类型,例:

typedef struct Teacher
{
    char name[64];
    int age;
    int id;
}Tcher; 
void main()
{
    Tcher t1;
}

2:定义结构体类型并定义变量,例:

struct Teacher
{
    char name[64];
    int age;
    int id;
}t1,t2,t3;

3,定义匿名结构体,定义变量,例:

struct 
{
    char name[64];
    int age;
    int id;
}t1,t2,t3;

(二)初始化结构体的三种方式
1:定义变量然后初始化,例:

typedef struct Teacher
{
    char name[64];
    int age;
    int id;
}Tcher; 
void main()
{
    Tcher t1 = {"aaaa",30,01};
}

2,初始化的第二种方法,例:

struct Teacher
{
    char name[64];
    int age;
    int id;
}t1={“aaaa”, 30, 01};

3,初始化的第三种方法,例:

struct      //匿名结构体初始化
{
    char naem[64];
    int age;
    int id;
}t9 = { "aaaa", 13, 02 };

(三)结构体的基本操作:
1,结构体元素调用,例:
a:普通方式:

struct Teacher
{
    char name[64];
    int age;
    int id;
}t1={“aaaa”, 30, 01};

void main()
{
    printf("name:%s\n",t1.name);
    printf("age:%d\n",t1.a)age;

}

需要注意的是: . 操作符是寻址操作,计算age 相对于大变量t1的偏移量,通过CPU计算,不操作内存。

b:指针调用:

typedef struct Teacher
{
    char name[64];
    int age;
    int id;
}Tcher; 
void main()
{
    Tcher t1 = {"aaaa",30,1};
    Tcher *p=NULL;
    p = &t1;
    printf("p->age:%d\n", p->age);  
    printf("p->name:%s\n", p->name);
    //->操作符是寻址操作 计算age相对于t1大变量的偏移量==》计算cpu进行 没有操作内存
}

2:赋值操作,两个结构体之间支持 = 号赋值,例:

typedef struct Teacher
{
    char name[64];
    int age;
    int id;
}Tcher; 
void main()
{
    Tcher t1 = {"aaaa",30,1};
    Tcher t2;
    t2 = t1;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值