c语言初阶第7课

本文详细介绍了C语言中的结构体,包括结构体的定义、成员类型、变量的声明与初始化、成员访问以及结构体的参数传递方式,强调了使用结构体地址传递以提高性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1结构体

结构体是一些值的集合,这些称为成员变量,结构的每个成员可以是不同变量

1.2结构体声明

stract tag

member-list

}variable-list

列如描述一个学生

typedef struct stu

char name【20】;

int age;

char sex【5】;

char id【20】;

}stu;

1.3结构成员类型

结构的成员可以是标量,数组,指针,甚至是其他结构体

1.4结构体变量的定义和初始化

struct point

{

int x;

int y;

}p1//声明类型的同时定义变量p1

};

struct point p2;//定义结构体变量p2

struct stu

char name【15】;

int age;

struct stu s={“zhangsan”,“20”};//结构体初始化

1.5结构体成员访问

struct stu

char name【15】;

int age;

struct stu s;

s.age=20;

1.6结构体穿参

结构体传参建议取地址,把整个结构体传参会导致性能下降

struct S
{
 int data[1000];
 int num;
};
struct S s = {{1,2,3,4}, 1000};
//结构体传参
void print1(struct S s)
{
 printf("%d\n", s.num);
}
//结构体地址传参
void print2(struct S* ps)
{
 printf("%d\n", ps->num);
}
int main()
{
 print1(s);  //传结构体
 print2(&s); //传地址
 return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值