C语言之结构体

结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,叫做结构体。在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体用关键字 struct来声明。

定义结构体类型变量

基本形式格式:

struct 结构体名{
		成员表列;
}  变量表列;

具体有四种方式 :

  • 1、定义结构体的同时定义变量:
struct Student{
        char name[10];
        int age;
} stu;
  • 2、先定义结构体,后再定义变量:
struct Student{
        char name[10];
        int age;
};
struct Student stu;
  • 3、先定义结构体,再定义结构体别名,再用别名定义变量:
typedef struct {
        char name[10];
        int age;
} Student;
Student stu;
  • 4、匿名共用体,只使用一次
struct {
        char name[10];
        int age;
} stu;

初始化成员列表

  • 1、定义结构体的同时定义变量,并进行初始化变量:
struct Student{
        char name[10];
        int age;
} stu={"Tom",12};
  • 2、先定义结构体,再定义变量,并初始化变量:
struct Student{
        char name[10];
        int age;
};
struct Student stu = {"Jhon",18};
  • 3、先定义结构体,再定义结构体别名,再用别名定义变量,并初始化变量:
typedef struct {
        char name[10];
        int age;
}Student;

Student stu = {"Jhon",19};
  • 4、匿名结构体,只使用一次,初始化变量:
struct {
        char name[10];
        int age;
}stu = {"Jho",16};

访问结构体变量

 strcpy(stu.name,"Tom Jhon");
 stu.age = 12;

完整例子

#include <stdio.h>
#include <string.h>
struct Student{
        char name[10];
        int age;
}stu;

int main(int argc,char* argv){
        strcpy(stu.name,"Tom Jhon");
        stu.age = 12;
        printf("name:%s\n",stu.name);
        printf("name 大小(单位:byte):%ld\n",sizeof(stu.name));
        printf("age:%d\n",stu.age);
        printf("age大小(单位:byte):%ld\n",sizeof(stu.age));
        printf("stu 大小(单位:byte):%ld\n",sizeof(stu));

        return 0;
}

运行结果:

~/Desktop/c$ gcc main.c -o main
~/Desktop/c$ ./main
name:Tom Jhon
name 大小(单位:byte):10
age:12
age大小(单位:byte):4
stu 大小(单位:byte):16

谢谢阅读。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值