结构体(C语言)-创新互联
                                            
                                                自定义类型-结构体
本文名称:结构体(C语言)-创新互联
转载来于:http://www.scyingshan.cn/article/dpjdie.html
                                            
                                        结构体类型假设我们要存储一个学生的身份信息,包括学号,姓名 ... 等 此时我们可以自己定义一种类型,来封装这些信息,那么此时我们就可以运用到结构体
站在用户的角度思考问题,与客户深入沟通,找到宾川网站设计与宾川网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、做网站、企业官网、英文网站、手机端网站、网站推广、空间域名、网页空间、企业邮箱。业务覆盖宾川地区。
结构体是一些值的集合,这些值称为成员变量,结构的每个成员可以是不同类型的变量
结构的成员可以是变量、数组、指针、也可以是其它结构体!
在C语言中用 stucrt 来定义结构体类型
#include// 定义结构体类型
struct STU{
 int avg;
 char name[10];
 float hight;
 double wight;
};
int main()
{
    return 0;
} 我们知道 整型类型 定义变量: int a=0;
浮点型 定义变量:float b=0.0;
指针变量 :int* p=NULL;
以此类推结构体也是一种类型,它也可以定义变量,变量可以初始化!
具体看代码:
#include//创建结构体类型
struct STU {
	char name[10];
	int age;
	float hight;
	double wight;
}S1 = { "李真人",289,1.78f,186 }; 
// 直接在创建类型的时候创建结构体变量 S1,并初始化;
struct STU S2 = { "万孔林",18,1.60f,125 };//定义结构体全局变量 S2;
int main()
{
	struct STU S3 = { "悬手低涂",988,1.88f,149 };//定义结构体局部变量S3并初始化!
	struct STU * p = NULL;  //结构体指针的定义
	p = &S1;  // 让结构体指针指向结构体变量S1	
   return 0;
} 结构体变量的访问有两种访问方式
第一种是 . 操作符访问:结构体变量.成员变量名
第二种是 ->操作符访问:指针的访问形式:指针->成员变量
#include//定义结构体类型
struct STU {
	char name[10];
	int age;
	float hight;
	double wight;
};
int main()
{
	//定义结构体变量
	struct STU S = { "雷古",58,1.78f,145 };
	//用 点 . 操作符访问成员
	printf("%s %d %f %lf\n", S.name, S.age, S.hight, S.wight);
	// 定义结构体指针
	struct STU * p = &S;
	//用 ->操作符访问成员
	printf("%s %d %f %lf\n", p->name, p->age, p->hight, p->wight);
	//以指针解引用的方式访问成员
	printf("%s %d %f %lf\n", (*p).name, (*p).age, (*p).hight, (*p).wight);
	return 0;
} 结构体在函数传参的时候,有两种方式:
1、传值:直接传结构体
2、传地址:传结构体指针
结构体在传参的时候建议传结构体的地址
原因:
函数传参的时候,参数是需要压栈的。 如果传递一个结构体对象的时候,结构体过大,参数压栈的的系统开销比较大,所以会导致性能的 下降。
#includestruct stu {
	char namr[10];
	int age;
	float hight;
	double wight;
};
void Prin(struct stu s)
{
	// 结构体变量 . 成员变量 访问
	printf("%s %d %f %lf\n", s.namr, s.age, s.hight, s.wight);
}
void dayin(struct stu* p)
{
	// 指针->成员变量访问 
	printf("%s %d %f %lf\n", p->namr, p->age, p->hight, p->wight);
	// 指针解引用 . 成员变量访问
	printf("%s %d %f %lf\n", (*p).namr, (*p).age, (*p).hight, (*p).wight);
}
int main()
{
	struct stu s = { "大帝蟒",28,1.79f,189 };
	struct stu* p = &s;
	Prin(s);//传值,传结构体
	dayin(p);// 传址,传结构体指针
	return 0;
} 你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
本文名称:结构体(C语言)-创新互联
转载来于:http://www.scyingshan.cn/article/dpjdie.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 
