初识结构体

C语言的结构体是一种自定义数据类型,允许组合不同数据类型。通过struct关键字定义结构体,如Person结构体包含姓名、年龄和性别。可以定义结构体变量,使用点操作符或指针访问成员。结构体也可作为函数参数传递,用于数据组织和管理。此外,结构体还能定义为数组处理多个相似数据。
摘要由CSDN通过智能技术生成

C语言是一门面向过程、抽象化的通用程序设计语言,结构体是 C语言中的一种自定义数据类型,它允许程序员将不同的数据类型组合在一起,形成一个新的数据类型,方便程序员进行数据的组织和管理。

定义结构体

  • 在 C 语言中,结构体的定义使用 struct 关键字,语法如下:
struct 结构体名称 {
    数据类型 成员1名称;
    数据类型 成员2名称;
    // ...
};
  • 例如我们可以定义一个名为Person的结构体,表示一个人的基本信息,包括年龄,姓名和性别:
struct Person {
    char name[20];
    int age;
    char gender; 
};

在这个结构体中,name 成员是一个字符数组,用来存储姓名;age 成员是一个整型变量,用来存储年龄;gender 成员是一个字符变量,用来存储性别。

使用结构体

  • 定义结构体后,我们可以使用结构体类型来定义变量,例如:
struct Person p1;
  • 这样就定义了一个名为 p1 的 Person 类型的变量。我们可以通过点操作符 . 来访问结构体成员,例如:
strcpy(p1.name, "CSDN_M");
p1.age = 18;
p1.gender = 'M';

这样就给 p1 变量的成员赋了值。

  • 我们还可以使用结构体指针来访问结构体成员,例如:
struct Person *p2 = &p1;
strcpy(p2->name, "CSDN_F");
p2->age = 18;
p2->gender = 'F';

这样就通过指针 p2 来访问 p1 变量的成员,并修改了它们的值。

结构体作为函数参数

  • 结构体可以作为函数参数传递,例如:
void printPerson(struct Person p) {
    printf("Name: %s\n", p.name);
    printf("Age: %d\n", p.age);
    printf("Gender: %c\n", p.gender);
}

int main() {
    struct Person p1 = {"Tom", 18, 'M'};
    printPerson(p1);
    return 0;
}

这样就定义了一个名为 printPerson 的函数,它的参数是一个 Person 类型的结构体。在 main 函数中,我们定义了一个 p1 变量,并将它作为参数传递给 printPerson 函数,以打印出 p1 的信息。

结构体数组

  • 结构体也可以定义为数组,例如:
struct Person people[3] = {
    {"Tom", 18, 'M'},
    {"Mary", 20, 'F'},
    {"John", 22, 'M'}
};

这样就定义了一个名为 people 的 Person 类型的结构体数组,包含了三个人的信息。

  • 我们可以通过下标来访问每个元素,例如:
for (int i = 0; i < 3; i++) {
    printf("Name: %s\n", people[i].name);
    printf("Age: %d\n", people[i].age);
    printf("Gender: %c\n", people[i].gender);
}

这样就可以遍历整个 people 数组,并打印出每个元素的信息。

总结

结构体是 C 语言中一种重要的数据类型,它允许程序员将不同的数据类型组合在一起,形成一个新的数据类型,方便程序员进行数据的组织和管理。我们可以使用结构体定义变量、访问成员、作为函数参数传递、定义为数组等等。熟练掌握结构体的使用,可以提高程序的可读性、可维护性和可扩展性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值