入门C语言只需一个星期(星期六)

点击上方"蓝字"关注我们

01、创建结构体

struct MyStructure {  // 结构声明  int myNum;     // 成员(int 变量)  char myLetter; // 成员(char 变量)}; // 用分号结束结构创建一个名为 s1 的结构变量struct myStructure {  int myNum;  char myLetter;};int main() {  struct myStructure s1;  return 0;}

02、结构体中的字符串

struct myStructure {  int myNum;  char myLetter;  char myString[30]; // String};int main() {  struct myStructure s1;  strcpy(s1.myString, "Some text");  // 打印值  printf("我字符串: %s", s1.myString);  return 0;}使用 strcpy 函数为字符串赋值

03、访问结构体成员

// 创建一个名为 myStructure 的结构struct myStructure {  int myNum;  char myLetter;};int main() {  // 创建一个名为 s1 的 myStructure 结构变量  struct myStructure s1;  // 为 s1 的成员赋值  s1.myNum = 13;  s1.myLetter = 'B';  // 创建一个名为 s2 的 myStructure 结构变量  // 并为其赋值  struct myStructure s2 = {13, 'B'};  // 打印值  printf("My number: %d\n", s1.myNum);  printf("My letter: %c\n", s1.myLetter);  return 0;}创建不同的结构变量struct myStructure s1;struct myStructure s2;// 为不同的结构变量赋值s1.myNum = 13;s1.myLetter = 'B';s2.myNum = 20;s2.myLetter = 'C';

04、复制结构体

struct myStructure s1 = {  13, 'B', "Some text"};struct myStructure s2;s2 = s1;示例中,将 s1 的值复制到 s2

05、修改结构体值

// 创建一个结构变量并为其赋值struct myStructure s1 = {  13, 'B'};// 修改值s1.myNum = 30;s1.myLetter = 'C';// 打印值printf("%d %c %s",    s1.myNum,    s1.myLetter);

总结

上节回顾

入门C语言只需一个星期(星期五)

C语言中的结构体(struct)是一种用户自定义的数据类型,可以用来组织一组相关的数据成员。结构体的常见用法包括:

1. 封装数据:结构体可以用来封装相关联的数据成员,使得数据的表示更加清晰和易于理解。例如,可以定义一个学生结构体,包含学号、姓名、年龄等成员。

2. 实现数据共享:当多个函数或模块需要访问相同的数据时,可以使用结构体来实现数据共享。这样可以避免数据重复定义,提高代码的可维护性。

3. 传递数据:结构体可以作为函数参数或返回值,实现数据的传递。例如,可以将学生的信息作为参数传递给一个函数,或者在函数中创建一个新的学生结构体并返回。

4. 数组和链表:结构体可以用于构建数组和链表等数据结构。例如,可以定义一个节点结构体,包含数据和指向下一个节点的指针,然后使用这些节点来构建链表。

5. 面向对象编程:虽然C语言不是面向对象的语言,但结构体可以用来模拟面向对象编程中的类和对象的概念。例如,可以定义一个动物结构体,包含动物的属性和方法,然后使用不同的动物结构体实例来表示不同的动物。

结构体的好处主要有以下几点:

1. 封装性:结构体可以将一组相关的数据成员封装在一起,对外提供统一的接口,隐藏内部实现细节。这有助于提高代码的可读性和可维护性。

2. 复用性:结构体可以包含多个数据成员,这些数据成员可以是不同类型的数据。通过定义不同的结构体类型,可以实现代码的复用,减少代码量。

3. 灵活性:结构体可以包含任意数量的数据成员,成员的类型也可以不同。这使得结构体具有很高的灵活性,可以适应各种不同的应用场景。

4. 数据共享:当多个函数或模块需要访问相同的数据时,可以使用结构体来实现数据共享。这样可以避免数据重复定义,提高代码的可维护性。

5. 数组和链表:结构体可以用于构建数组和链表等数据结构。例如,可以定义一个节点结构体,包含数据和指向下一个节点的指针,然后使用这些节点来构建链表。

6. 面向对象编程:虽然C语言不是面向对象的语言,但结构体可以用来模拟面向对象编程中的类和对象的概念。例如,可以定义一个动物结构体,包含动物的属性和方法,然后使用不同的动物结构体实例来表示不同的动物。

故我在

点击下方卡片 关注我

↓↓↓

Qt历险记

一名技术分享师,分享方向:->Qt(C/C++、linux、STM32、MySql/Sqlite3、TCP/UDP),设计方面->Ai、PS、visio、AD、Protues。

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Qt历险记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值