C语言结构体

C语言结构体是自定义数据类型,用于组合多种数据类型的集合。文章介绍了如何声明结构体,定义结构体变量,以及如何赋值和操作结构体。此外,还讨论了结构数组和结构体指针的使用,特别是结构体指针作为函数参数的优势。
摘要由CSDN通过智能技术生成

C语言结构体

什么是结构体:简言之,就是各种数据类型的集合。像PHP的数组,也可以说是一个结构体,因为它数组里面也可以放各种类型的数据。

一、C语言中如何声明
结构体是一种自定义的数据类型,是创建变量的模板,不占用内存空间;

struct Student{
    int id;
    char name[50];
    int age;
};
//注意:分号一定不能少

二、定义结构体变量

  • 1、在声明结构体直接定义变量
struct Student{
   int id;
   char name[50];
   int age;
} s1,s2; 
  • 2、数据类型 变量名
	struct Student s1;

三、如何赋值和操作?

  • 1、直接赋值

     	struct Student s1 = {1,"zero",28}
    
  • 2、动态赋值

  struct Student s1;
  printf("please input the id");
  scanf("%d",&s1.id);
  printf("please inut the name");
  scanf("%s",s1.name);
  printf("please input the age");
  scanf("%d",&s1.age);
  printf("name=%s\n",s1.name);
  //对于结构体的操作方式,使用“.”符号。当然也可以用结构指针"->"
  struct Student *stp;
  stp = &s1;
  printf("name=%s\n",stp->name);

四、结构数组
无非就是数组里面放了一个个结构体,操作方式跟数组还是一样。

 struct Student stu[5] = {{2,"zero",21},{3,"luffy",22},{3,"hello",33}};
 struct Student *sp2=NULL;
 int i;
 sp2 = stu;
 for(i=0;i<3;i++){
     printf("name is=%s\n",sp2->name);
     sp2++;//让指针后移
 }

五、结构体指针
指针的操作方法还是一样,将结构体的首地址给赋给指针,就能够间接的访问结构成员了。
两种形式:
1、 p->name 2、 (*p).name “->”比较常用

结构指针作为函数参数
指针作为函数参数,无疑带来了许多好处。比如:我们做一个学生平均分的计算,当以结构体变量作为函数参数传递的时候,如果成员很多,会带来很大的空间和时间。
而,以指针作为参数只要传递一个地址,就可以对成员进行操作。

在linux搭建php环境:https://study.163.com/course/introduction/1209187856.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值