天天看点

C语言学习-结构体初识C语言结构体使用typedef保留字给stu结构体重命名

初识C语言结构体

以构建一个 学生 结构体为例

struct stu
{
    //成员变量
    char name[20];
    short age;
    char tele[12];
    char sex[5];  
};
           

这就是一个最基本的结构体,其中

“struct” 是结构体的保留字

“stu” 是结构体标签

注,结构体定义后一定要在最后加上“;”表明这是一句语句。

那么如何调用这个结构体?

struct stu
{
    //成员变量
    char name[20];
    short age;
    char tele[12];
    char sex[5];  
};
// ";"前“}”后存放的是“variable-list”即变量列表
//如果要创建多个结构体变量,应用“,”分开
//并且此时创建的是全局变量,在main函数中实例化时创建的变量是局部变量


int main()
{
    //实例化一个结构体
    struct stu s;


    return 0;
}
           

使用typedef保留字给stu结构体重命名

typedef struct stu
{
    //成员变量
    char name[20];
    short age;
    char tele[12];
    char sex[5];  
}Stu;

//此时把stu结构体重命名为Stu
//注意,此处的"Stu"不再是全局变量,而是类型名称

int main()
{
    Stu s1;//该句话就等同于上面的 struct Stu s1;
    return 0;

}
           

用“{}”给结构体初始化

Stu s1 = {'张三', 20,'123456789','男'};

凡是初始化结构体,都需要用到"{}",比如结构体间的嵌套

Stu s2 = {'张',20, {'233', 122,'w'},123}; 

 使用“.”操作符来找到结构体成员

printf("%s\n",S2.name);

当使用的指针来访问结构体成员时,应该用"->"操作符

typedef struct stu
{
    char name[5];
}Stu;


void Print1(Stu* s)
{
    printf("name:  %s\n", s->name);
}



int main()
{
    Stu s = {'111'};
    Print1(&s);
    return 0;

}
           

继续阅读